在JSONObject中使用键进行迭代

时间:2016-11-17 08:08:25

标签: java json

我在JSONObject中遇到for循环问题。我尝试修改元素“名称”。 我知道对象的所有键。 我有字符串列表:`[“person 1”,“data”,“moreInfo”,“name”,“John”]; 我知道他们是对象。人1内的数据,数据中的更多信息......

我可以改变它:

JSONObject js = new JSONObject(jsonFile);
js = js.getJSONObject("person 1").getJSONObject("data").getJSONObject("moreInfo");
js.put("name","secName");

没关系,但我不知道列表中有多少元素。 也许:["person 1" ....... "moreInfo", "name", "John"]; 我尝试使用for循环,但我不能用它,可以迭代到结果:getJSONObject("moreInfo")

{
    "Person 1": -firstWord in list {
        "data": {
            "moreInfo": {
                "name": "John"
            }
        }
    }
}

1 个答案:

答案 0 :(得分:0)

所以我假设你有一个大小为n的字符串数组,第一个n-1个元素是json路径,最后一个是你想要设置的新值

你可以这样做:

Spring mvc 3.2

我在这里跳过正确性检查。但您可能希望添加代码以检查每个步骤中是否存在密钥。