Рекурсивное обновление узла 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");