【发布时间】:2019-05-16 09:29:36
【问题描述】:
我正在尝试遍历 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 并获取“图表”对象的值
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
【问题讨论】:
-
在您的输入中,图表是一个包含多个对象的数组。在您的输出中,您有一个这些数组的数组。到目前为止,您似乎正在处理一个图表,因此您的输出数组包含一个数组。你可以遍历那个内部数组,你会找到它包含的对象的三个 id
-
你的 json 格式不正确
标签: java json gson jsonparser jsonreader