Mettre à jour les éléments dans un objet JSON

Disons que j'ai donné un JSONObjet

{ "person":{"name":"Sam", "surname":"ngonma"}, "car":{"make":"toyota", "model":"yaris"} } 

Comment mettre à jour certaines des valeurs dans JSONObject?

  • Comment supprimer un identifiant à partir d'un objet manipulateur ajouté par PostDelayed?
  • Animations lisses pour les mises en page lourdes
  • Pourquoi je me trompe requestCode?
  • Pass ArrayList <? Implémente Parcelable> à l'activité
  • Alternative appropriée à PopupMenu pour pré-Honeycomb
  • Dans l'adaptateur gridview, getView (position == 0) a été invoqué trop souvent pour mesurer la mise en page lorsque setImageBitmap () dans un chargeur
  • Comme ci-dessous:

     String name = jsonArray.getJSONObject(0).getJSONObject("person").getString("name"); name = "Sammie"; 

    3 Solutions collect form web for “Mettre à jour les éléments dans un objet JSON”

    Utilisez la méthode de mise: https://developer.android.com/reference/org/json/JSONObject.html

     JSONObject person = jsonArray.getJSONObject(0).getJSONObject("person"); person.put("name", "Sammie"); 

    Supprimez la clé, puis ajoutez à nouveau la clé modifiée, la paire de valeurs comme indiqué ci-dessous:

      JSONObject js = new JSONObject(); js.put("name", "rai"); js.remove("name"); js.put("name", "abc"); 

    Je n'ai pas utilisé votre exemple; Mais conceptuellement est la même.

    Bonjour, je peux vous suggérer une méthode universelle. Utiliser la récurrence.

      public static JSONObject function(JSONObject obj, String keyMain, String newValue) throws Exception { // We need to know keys of Jsonobject JSONObject json = new JSONObject() Iterator iterator = obj.keys(); String key = null; while (iterator.hasNext()) { key = (String) iterator.next(); // if object is just string we change value in key if ((obj.optJSONArray(key)==null) && (obj.optJSONObject(key)==null)) { if ((key.equals(keyMain)) && (obj.get(key).toString().equals(valueMain))) { // put new value obj.put(key, newValue); return obj; } } // if it's jsonobject if (obj.optJSONObject(key) != null) { function(obj.getJSONObject(key), keyMain, valueMain, newValue); } // if it's jsonarray if (obj.optJSONArray(key) != null) { JSONArray jArray = obj.getJSONArray(key); for (int i=0;i<jArray.length();i++) { function(jArray.getJSONObject(i), keyMain, valueMain, newValue); } } } return obj; } 

    Cela devrait fonctionner. Si vous avez une question, allez la tête … Je suis prêt)

    coAndroid est un fan Android de Google, tout sur les téléphones Android, Android Wear, Android Dev et Android Games Apps.