我有以下示例json输出形式java / jsonsimple。
JSONArray是:
[{"dd1":{"actionType":"Dept","collegeID":""}},{"dd2":{"actionType":"Dept","collegeID":""}}]
我试图通过使用“dd1”而不是ndx来弄清楚如何获取“dd1”键的值。
基本上,我希望能够测试一个给定的“密钥”,看它是否在数组中,带有一个值。JSONArray的文档,允许foo.get(1),但不允许foo.get(“dd1”)
感谢
PS。
我尝试将上面的插入用于JSONObject,然后执行foo.get(“dd1”)但我没有得到该值。
这个问题似乎归结为如何在[]数组中找到dict。
doing something like foo.get(1).get("dd1") doesn't work...
感谢
答案 0 :(得分:2)
你的JSON输入中有一个数组包装你的字典,所以你必须先得到字典,例如:
foo.get(1).get("dd1");
但是你可以将你的JSON改成一个简单的字典,如下所示:
{
"dd1": {"actionType":"Dept","collegeID":""},
"dd2": {"actionType":"Dept","collegeID":""}
}
然后你就能做到:
foo.get("dd1");
答案 1 :(得分:0)
你正在混合json数组和json对象。使用foo.get(1)
,您将检索包含字段“dd1”的JSON对象 - 然后您可以使用get("dd1")