2014-02-26 41 views
2

我有一個HashMap,我在其中動態保存JSONObject。 hashMap中可以有多個JSONObjects。我想提取它們並將其添加到另一個JSONObject。如何從hashMap中提取JSON並將其添加到另一個JSONObject?

此刻我遍歷地圖並提取JSONObjects並將其添加到字符串。

String personData = "";  
Iterator myVeryOwnIterator = map.keySet().iterator(); 
while(myVeryOwnIterator.hasNext()) 
{ 
    Integer key=(Integer)myVeryOwnIterator.next(); 
    JSONObject value; 
    value= map.get(key);      
    personData = personData + value.toString();     
} 

我試圖創建另一個JSONObject的字符串「personData」轉換成的JSONObject並把它添加到主的JSONObject incidentJson。但它只有一個值,但String personData可以有多個JSON數據。

JSONObject personDetailsJSON = new JSONObject(personData); 
incidentJson.put("PersonDetails", personDetailsJSON); 

回答

0

嘗試這樣的:

JSONObject personData = new JSONObject(); 

while (...) { 
    Integer key=(Integer)myVeryOwnIterator.next(); 
    JSONObject value; 
    value= map.get(key);      
    personData.put(""+key, value); 
} 
+0

感謝您的答覆。在這種情況下,由於JSONObject的名稱會根據密鑰不斷變化,讀取JSON時它不會成​​爲問題,因爲我將這些數據發送到服務器 – BRDroid

+0

我不明白問題所在。基本上你會發送到服務器,像這樣:'{「1」:FirstJsonFromHashMap,「2」:SecondJsonFromHashMap}':其中1和2是你的HashMap中的鍵,而jsons是來自HashMap的你的jsonObjects(如果它們沒有有其他孩子)。 – cosmincalistru

+0

好的。我會這樣做。如果有任何問題,我會回來。謝謝你的幫助。 – BRDroid

相關問題