用于读取列表值的 Java JSON 对象

标签 java json parsing

我有一个类似这样的 JSON 响应:

{
  "id_list":["123", "456", "789"],
  ...
}

我想知道如果我想使用 JSONObject 读取这样的 id 列表并返回 ids 的 List<String> ,我应该做什么。我没有看到 JSONObject 中有任何方法可以做这样的事情(引用: http://www.json.org/javadoc/org/json/JSONObject.html )。最可能的可能是 JSONArray ,但我不知道是否使用 JSONArray 并将列表中的每个值都变成 JSONObject ,如何在没有键的情况下读取它们。

谢谢

最佳答案

您可以迭代 JSONArray 并将每个值存储到列表中,然后返回该值。

JSONObject jo = new JSONObject(jsonString); //
JSONArray ja = jo.getJSONArray("id_list"); // get the JSONArray
List<String> keys = new ArrayList<>();

for(int i=0;i<ja.length();i++){
    keys.add(ja.getString(i)); // iterate the JSONArray and extract the keys
}

return keys; // return the list

关于用于读取列表值的 Java JSON 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19854170/

相关文章:

java - Spring security-在 rest 服务中将凭据作为 json 而不是常规形式发送

java - android 如何解析数组项?

c - 验证解析器中的数据类型/结构

java - 命令行参数不按顺序

java - 快速重绘问题( Canvas 对象)

java - Int ID在MySQL中删除和添加条目时跳转数字

java - 如何使用java递归获取JSON的键?

java - 强制改造以加载新数据

javascript - 为什么我的 JSON 状态在 Chrome 中返回 0,但在 IE 中却有效?

java - 如何更改我的正则表达式以正确匹配浮点文字?