java – 如何编辑,修改嵌套的JSONObject

你能帮我解决这个问题吗?

例如,我有
JSONEObject

{
"glossary": {
    "title": "example glossary",
    "GlossDiv": {
        "title": "S",
        "seeds": "12415",
    }
}

}

例如,我需要将“种子”:“12415”更改为“种子”:“555”.
我找到了一些解决方案

JSONObject js = new JSONObject(jsonString);
js.getJSONObject("glossary").getJSONObject("GlossDiv").remove("seeds");
js.getJSONObject("glossary").getJSONObject("GlossDiv").put("seeds","555");

因此,为了在我的版本中编辑种子,我需要先删除“种子”之后获得“词汇表”然后“GlossDiv”,并​​将新的“种子”添加到新值中.

你能帮我找另一种编辑方式吗?例如:just somemethod(String key,String NewValue).

最佳答案 在调用put之前不需要删除. JSONObject #put将替换任何现有值.只需致电

js.getJSONObject("glossary").getJSONObject("GlossDiv").put("seeds", "555");

But how to get to wanted key for one step?

你没有.您有一个嵌套的对象树.您必须通过完整的树来到达您的元素.可能有一个库可以为你做这个,但在它下面,它将遍历一切.

点赞