从API读取JSON数据

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了从API读取JSON数据相关的知识,希望对你有一定的参考价值。

如果这个问题过于宽泛,请原谅我,如果是这样的话就对我大喊大叫。

我正在从java中的rest API中检索数据。然后,我希望能够在JSON数据中搜索特定的键值对。据我所知,org.json中的JSONObject是一种很好的方法。到目前为止,我有:

URL url = new URL("api string");
HttpURLConnection connnection = (HttpURLConnection)url.openConnection();

BufferedReader br = new BufferedReader(new InputStreamReader(connection.getInputStream()));

String input;
StringBuffer sb = new StringBuffer();

while ((input = br.readLine()) != null){
    sb.append(input);
}
br.close();

returnedJSON = new JSONObject(sb.toString());

所以相当标准的获取请求代码。

首先,我不知道我是否需要JSONObject或JSONArray。我研究过的所有内容都使用JSONObjects从API写入,但我将检索以下形式的JSON:

[{x:y,a:b,foo:bar},{x:y,a:b,foo:bar},...,...]

因此,如果有意义的话,有多个JSON“条目”,我想查看整个JSON字符串,看看同一条记录中是否存在两个数据。例如:'foo'的值是'x'的值为'y'的记录的预期值吗?

我不清楚如何继续这里,因为这是我第一次正确使用JSON。

答案

首先,您应该使用JSONArray而不是JSONObject,因为它是您从API响应中收到的对象数组。

现在迭代这个array并抓住每个JSONObject,它实际上以HashMap(键值对)的形式接收。

现在,您可以通过访问密钥来获取JSONObject的每个元素。

以上是关于从API读取JSON数据的主要内容,如果未能解决你的问题,请参考以下文章

为啥我的应用程序无法从我的 API 读取 JSON?

使用 C# 从外部 api 读取 json 数据

从API读取JSON数据

从 Apollo 缓存中读取特定类型的所有片段

React - 从 API 获取数据并映射嵌套的 JSON

C# 无法从 API 调用读取 json 响应