【发布时间】:2012-10-29 14:28:13
【问题描述】:
我已经阅读了各种线程并发现了类似的问题,但在为我的特定问题找到解决方案方面非常不成功。
JSONObject orr = (JSONObject)orderRows.get("orderRows");
System.out.println("data in orr = " + orr + "orr's type = " + orr.getClass());
返回:
orr 中的数据 = {"470":[{"locationId":2,"quantity":1,"productId":1007}],"471":[{"locationId":2,"quantity":1,"productId":1008 }]}orr 的 type = class org.json.simple.JSONObject
我正在尝试将此数据放入一个数组/列表/任何我可以使用键 470,471 来检索数据的地方。
任何建议或指点非常感谢非常感谢...
澄清一下:
JSONObject orr = (JSONObject)orderRows.get("orderRows");
JSONArray orderOne = (JSONArray)orr.get("471");
System.out.println(orderOne);
System.out.println(orderOne.get(0));
JSONObject orderOneKey = (JSONObject)orderOne.get(0);
System.out.println(orderOneKey.get("productId"));
这就是我所追求的,但显然我不能做 orr.get("471") 因为我不知道这个数字是多少。
编辑: 显然我无法在 8 小时内回答我自己的问题:
感谢朋友的帮助和一些摆弄,我找到了一个解决方案,我敢肯定这不是最有说服力的,但这正是我所追求的:
for(Object key: orr.keySet()) {
JSONArray orderOne = (JSONArray)orr.get(key);
JSONObject ordervalue = (JSONObject)orderOne.get(0);
System.out.println(ordervalue.get("productId"));
}
感谢大家的帮助和建议。
【问题讨论】:
标签: java json json-simple