Рекурсивное обновление узла Json

У меня есть код, где это помогает мне обновить значения узла JSON. Но в моем способе обработки есть небольшая сложность. У меня есть узел, который может встретить любой JSONObject.

Примечание: ниже приведен пример структуры JSON.

{              
    "Apple": {
        "Name": "AA",
        "description": "apple"
    },           
    "Mango": {
        "Name": "RA",
        "description": "Mango"
    }
}

Я хотел бы обновить имя и описание для Apple и Mango.

2 ответа

До:

{
   "Apple":{
      "Name":"AA",
      "description":"apple"
   },
   "Mango":{
      "Name":"RA",
      "description":"Mango"
   }
}

С этим кодом:

JsonObject Apple = myJson.getAsJsonObject("Apple");
Apple.addProperty("Name", "BB");
Apple.addProperty("description", "New apple");

Ты получишь:

{
   "Apple":{
      "Name":"BB",
      "description":"New apple"
   },
   "Mango":{
      "Name":"RA",
      "description":"Mango"
   }
}

Используйте метод put: https://developer.android.com/reference/org/json/JSONObject.html

JSONObject apple =  jsonArray.getJSONObject(0).getJSONObject("apple");
person.put("Name", "Honeycrisp");

//Similarly
JSONObject apple =  jsonArray.getJSONObject(0).getJSONObject("apple");
person.put("description", "a sweet apple");
Другие вопросы по тегам