Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/402.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Java中具有模式的数组中更新值_Java_Json - Fatal编程技术网

在Java中具有模式的数组中更新值

在Java中具有模式的数组中更新值,java,json,Java,Json,我有一个数组,它的模式是[{“key1”:“value1”,“key2”:“value2”}] 我想更新上述数组中的value2 请建议如何继续使用Java 提前感谢。您可以这样尝试: JSONObject object = new JSONObject("[{"key1":"value1","key2":"value2"}]"); String[] keys = JSONObject.getNames(object); for (String key : keys) { if(ke

我有一个数组,它的模式是
[{“key1”:“value1”,“key2”:“value2”}]

我想更新上述数组中的
value2

请建议如何继续使用
Java

提前感谢。

您可以这样尝试:

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");
    }
}
您可以使用从字符串解析json数组,并使用其键
key2
更改
value2
的值:

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");
   }
}

使用
JSONParser
并设置
key2
@UmaKanth的值感谢您的回复。我不知道如何对具有键值对的数组使用JSONParser。那个“模式”就是格式。使用JSON解析器对其进行解析,然后更改值,并使用JSON格式化程序将其转换回JSON。
String changedJSON = jsonArray.toString();