gpt4 book ai didi

java - java中如何循环遍历json对象的json数组

转载 作者:行者123 更新时间:2023-12-02 05:35:54 27 4
gpt4 key购买 nike

我正在尝试循环 json 文件并查找特定 json 对象的值。这是我的示例 json:

{
"diagram":[
{"size":{"width":30,"height":20},"color":"blue","id":1},
{"color":"red","id":2},
{"size:{"height":30}", "id":3}
]
}

我想要做的是遍历文件并找到“id”元素。

我使用下面的代码将 JsonFile 转换为 JsonObject 并获取“diagram”对象的值

JSONArray jsonArray = new JSONArray();
JSONParser parser = new JSONParser();
Object obj = parser.parse(new FileReader("D:/test.json"));
JSONObject jsonObj = (JSONObject) obj;
for(Iterator iterator = jsonObj.keySet().iterator(); iterator.hasNext();) {
String diagramKey = (String) iterator.next();
jsonArray.put(jsonObj.get(diagramKey));
}

通过上面的代码,我能够获取图表对象的值,并将其放入 jsonArray

当我尝试打印数组对象时,我得到的输出为

[[
{"size":{"width":30,"height":20},"color":"blue","id":1},
{"color":"red","id":2},
{"size:{"height":30}", "id":3}
]]

jsonArray 长度为 1。

如何循环遍历上面的 jsonArray 并找到每个元素的 id

最佳答案

Verify your JSON too and check below code. 

public class MyTest {

public static void main(String[] args) throws JSONException {
String str = "{\r\n" +
" \"diagram\": [{\r\n" +
" \"size\": {\r\n" +
" \"width\": 30,\r\n" +
" \"height\": 20\r\n" +
" },\r\n" +
" \"color\": \"blue\",\r\n" +
" \"id\": 1\r\n" +
" },\r\n" +
" {\r\n" +
" \"color\": \"red\",\r\n" +
" \"id\": 2\r\n" +
" },\r\n" +
" {\r\n" +
" \"size\": {\r\n" +
" \"height\": 30\r\n" +
" },\r\n" +
" \"id\": 3\r\n" +
" }\r\n" +
" ]\r\n" +
"}";

JSONObject jo = new JSONObject(str);
final JSONArray geodata = jo.getJSONArray("diagram");
int arrLength = geodata.length();
for(int i = 0; i< arrLength;i++) {
jo = geodata.getJSONObject(i);
System.out.println(jo.get("id"));
}
}
}

关于java - java中如何循环遍历json对象的json数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56165283/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com