如何使用minimal-json库在JsonObject中设置嵌套数组的值?

时间:2017-09-12 20:45:07

标签: java json

我使用https://github.com/ralfstx/minimal-json作为这个项目的json库,我有一个json输入,它有一个嵌套数组,在数组中有键值对。

Json看起来像这样:

{
"info":[  
  {  
     "name":"thing1",
     "value":"value1"
  },
  {  
     "name":"user",
     "value":"admin"
  },
  {  
     "name":"password",
     "value":""
  }
  ],
   "logonStyle":null,
   "logonUXVersion":0
}

所以我尝试过这样的事情:

jsonRes.get("info").set("password", "tothisvalue");
jsonRes.set("password", "tothisvalue");

但这两种方式都不起作用。我注意到这个Q& A它有一个不同的库,你可以链接它们:How to access nested elements of json object using getJSONArray method

想知道我是否可以在这个库中添加一个案例,或者是否有人知道在嵌套数组中设置值的方法。

1 个答案:

答案 0 :(得分:0)

想出来。

JsonArray connectionInfo = requestBody.get("connectionParamInfo").asArray();
    for (JsonValue x : connectionInfo) {
        if (x.equals(jsonStr)) {
            x.asObject().set("value", newPassword);
        }
    }

如果我在这种情况下修改了作为JsonObject的requestBody,那么我对“connectionInfo”部分中的值所做的更新实际上会返回原始的requestBody。

我以为我必须把某些东西合并回去。实际上它已经在更新我的json了。