¿Cuál es la mejor manera de combinar (fusionar) 2 JSONObjects?

¿Cuál es la mejor manera de combinar (combinar) dos JSONObjects ?

 JSONObject o1 = { "one": "1", "two": "2", "three": "3" } JSONObject o2 = { "four": "4", "five": "5", "six": "6" } 

Y el resultado de combinar o1 y o2 debe ser

 JSONObject result = { "one": "1", "two": "2", "three": "3", "four": "4", "five": "5", "six": "6" } 

Tengo su mismo problema: No puedo encontrar el método putAll (y no aparece en la página de referencia oficial ).

Por lo tanto, no sé si esta es la mejor solución, pero seguramente funciona bastante bien:

 //I assume that your two JSONObjects are o1 and o2 JSONObject mergedObj = new JSONObject(); Iterator i1 = o1.keys(); Iterator i2 = o2.keys(); String tmp_key; while(i1.hasNext()) { tmp_key = (String) i1.next(); mergedObj.put(tmp_key, o1.get(tmp_key)); } while(i2.hasNext()) { tmp_key = (String) i2.next(); mergedObj.put(tmp_key, o2.get(tmp_key)); } 

Ahora, el JSONObject combinado se almacena en mergedObj

Json se fusionen en ese nuevo objeto json como este.

  JSONObject jObj = new JSONObject(); jObj.put("one", "1"); jObj.put("two", "2"); JSONObject jObj2 = new JSONObject(); jObj2.put("three", "3"); jObj2.put("four", "4"); JSONParser p = new JSONParser(); net.minidev.json.JSONObject o1 = (net.minidev.json.JSONObject) p .parse(jObj.toString()); net.minidev.json.JSONObject o2 = (net.minidev.json.JSONObject) p .parse(jObj2.toString()); o1.merge(o2); Log.print(o1.toJSONString()); 

Ahora o1 será el objeto json fusionado. Obtendrá el resultado como esto ::

 {"three":"3","two":"2","four":"4","one":"1"} 

Por favor consulte este enlace y descargue la biblioteca smartjson .. aquí está el enlace http://code.google.com/p/json-smart/wiki/MergeSample

Espero que ayude

Qué tal esto:

  Iterator iterator = json2.keys(); while(iterator.hasNext()){ String key = iterator.next().toString(); json1.put(key,map.optJSONObject(key)); } 

Prueba esto .. espero que ayude

 JSONObject result = new JSONObject(); result.putAll(o1); result.putAll(O2); 
  • El servidor GCM de Google devuelve Error no autorizado 401
  • Compruebe JSONArray para valor específico
  • Convertir cadena a JsonArray
  • ¿Conversión de json string a objeto java?
  • NoMethodError en el objeto de ejecución estándar de Android
  • Deserializar el mapa JSON usando Jackson no da el mapa correcto
  • Android analiza caracteres especiales en la respuesta de json
  • El inicio de Backend para móviles subscribeToCloudMessage no funcionará
  • Enviando cadena UTF-8 usando HttpURLConnection
  • Problema de análisis de Json (valores cambiados automáticamente flotante)
  • Cargando muchas imágenes del servidor en Android
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.