我已經通過各種線程閱讀並發現類似的問題,但一直在爲我的特定問題尋找解決方案時非常失敗。將JSONObject轉換爲List或JSONArray的簡單代碼?
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的 類型=類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"));
}
感謝您的幫助和建議傢伙。
謝謝,問題是我不知道這些數字470和471是什麼,我知道他們在這種情況下,因爲我已經打印出來。 非常感謝 – Mark
感謝朋友的幫助和一些小提示,我找到了一個解決方案,我敢肯定這不是最令人驚歎的,但這正是我之後的: – Mark