我已经阅读了各种线程并发现了类似的问题,但是在为我的特定问题找到解决方案方面非常不成功。
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 的类型 = 类 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"));
}
感谢您的帮助和建议。