我已经通读了多个主题并发现了类似的问题,但是在为我的特定问题找到解决方案方面却很不成功。
JSONObject orr = (JSONObject)orderRows.get("orderRows");
System.out.println("data in orr = " + orr + "orr's type = " + orr.getClass());
返回值:
ORR中的数据=
{“470”:[{“locationId”:2,“数量”:1,“productId”:1007}],“471”:[{“locationId”:2,“数量”:1,“productId”:1008 }]} orr's
类型=类org.json.simple.JSONObject
我正在尝试将此数据放入数组/列表/可以使用键470471检索数据的任何内容。
非常感谢任何建议或指针...
澄清:
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个小时内回答自己的问题:
多亏了 friend 的帮助和一些摆弄,我找到了一个解决方案,我敢肯定这不是最有说服力的,但这正是我所追求的:
for(Object key: orr.keySet()) {
JSONArray orderOne = (JSONArray)orr.get(key);
JSONObject ordervalue = (JSONObject)orderOne.get(0);
System.out.println(ordervalue.get("productId"));
}
感谢您的帮助和建议。
最佳答案
多亏了 friend 的帮助和一些摆弄,我找到了一个解决方案,我敢肯定这不是最有说服力的,但这正是我所追求的:
for(Object key: orr.keySet()) {
JSONArray orderOne = (JSONArray)orr.get(key);
JSONObject ordervalue = (JSONObject)orderOne.get(0);
System.out.println(ordervalue.get("productId"));
}
感谢您的帮助和建议。