2014-02-26 17 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

相关问题