【问题标题】:Get Data into Strings from API从 API 获取数据到字符串
【发布时间】:2020-04-28 15:42:30
【问题描述】:

我是主题 API 的新手,我有一个大学项目。我设法从 Api 中获取信息,但现在我想将确切的信息获取到 String 以便稍后上传到数据库。这是我的代码:

public class corona {


public static void main(String[] args) {
    // TODO Auto-generated method stub
      System.out
        .println(jsonGetRequest("https://api.apify.com/v2/datasets/dcm4uXhiGIjVdJAzS/items?format=json&clean=1"));


  }

  private static String streamToString(InputStream inputStream) {
    String text = new Scanner(inputStream, "UTF-8").useDelimiter("\\Z").next();
    return text;
  }

  public static String jsonGetRequest(String urlQueryString) {
    String json = null;
    try {
      URL url = new URL(urlQueryString);
      HttpURLConnection connection = (HttpURLConnection) url.openConnection();
      connection.setDoOutput(true);
      connection.setInstanceFollowRedirects(false);
      connection.setRequestMethod("GET");
      connection.setRequestProperty("Content-Type", "application/json");
      connection.setRequestProperty("charset", "utf-8");
      connection.connect();
      InputStream inStream = connection.getInputStream();
      json = streamToString(inStream); // input stream to string
    } catch (IOException ex) {
      ex.printStackTrace();
    }
    return json;
  }
}

所以输出现在看起来像这样:output

例如,我怎样才能将数据从字段 76 中取出?

【问题讨论】:

标签: java json api


【解决方案1】:

最好的方法是创建类似于您获得的 json 响应的模型类,并使用任何库将 json 响应转换为模型。 例如。使用Jackson:

ObjectMapper mapper = new ObjectMapper();
SomeModel model = mapper.readValue("YOUR JSON STRING", SomeModel.class);

您可以查看jackson-deserialization 了解更多示例。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-11-06
    • 2021-05-31
    • 2013-09-26
    • 2020-11-10
    • 2018-12-24
    • 1970-01-01
    • 2018-11-16
    相关资源
    最近更新 更多