我已经通读了多个主题并发现了类似的问题,但是在为我的特定问题找到解决方案方面却很不成功。

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"));
        }

感谢您的帮助和建议。

08-26 09:40