更新Array中具有Java模式的值

时间:2015-07-07 06:49:01

标签: java json

我有一个模式[{"key1":"value1","key2":"value2"}]

我想在上面的数组中更新value2

请建议如何继续使用Java

先谢谢。

2 个答案:

答案 0 :(得分:1)

您可以使用 JSONArray JSONObject 来解析字符串中的json数组,并更改value2的值使用其密钥key2

JsonArray jsonArray = JsonArray.readFrom("[{\"key1\":\"value1\",\"key2\":\"value2\"}]");
for(int i=0; i<jsonArray.length();i++){
   JSONObject jo=jsonArray.get(i);
   if(jo.has("key2")) {
      jo.remove("key2");
      jo.put("key2", "new value");
   }
}

最后将其改回String json:

String changedJSON = jsonArray.toString();

答案 1 :(得分:0)

您可以尝试这样:

JSONObject object = new JSONObject("[{"key1":"value1","key2":"value2"}]");

String[] keys = JSONObject.getNames(object);

for (String key : keys)
{
    if(key.equals("key2")){
       object.put(key, "new value");
    }
}