java - 从API获取数据到字符串中

标签 java json api

我是 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 中获取数据?

最佳答案

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

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

您可以结账jackson-deserialization了解更多示例。

关于java - 从API获取数据到字符串中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61484230/

相关文章:

api - 创建多个 Google/YouTube 数据 API key

java - Jackson 自定义解串器委托(delegate)恢复为默认值

java.lang.IndexOutOfBoundsException : Index: 0, 大小 : 0 at java. util.ArrayList.rangeCheck

java - 在 NetBeans 平台上,具有主要和次要首选项面板

java - 如何在 Spring 运行时向 bean 添加属性

json - Play 2.3.x Scala - 如何在 View 中显示 json 数据?

sql - 如何在 Oracle 中漂亮地格式化 JSON?

javascript - 如何解析 api.themoviedb.org 返回的 JSONP 响应?

Java:如何将openstreetmap区域导出到图像文件?

java - AnnotationProcessor 选项不被任何处理器识别