さまざまなスレッドを読み、同様の問題を見つけましたが、特定の問題の解決策を見つけるのにかなり失敗しています.
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"));
}
助けと提案をしてくれてありがとう。