Java 如何在JsonArray中更改JsonObject?
我使用的是Java 如何在JsonArray中更改JsonObject?,java,json,Java,Json,我使用的是javax.json,当我在jsonArray中尝试更改jsonObject时: String jsonString = "[{\"name\":\"xyz\"," + "\"URL\":\"http://example.com\"}]"; JsonReader jsonReader = Json.createReader(new StringReader(jsonString)); JsonArray jsonArray = jsonR
javax.json
,当我在jsonArray
中尝试更改jsonObject
时:
String jsonString = "[{\"name\":\"xyz\"," +
"\"URL\":\"http://example.com\"}]";
JsonReader jsonReader = Json.createReader(new StringReader(jsonString));
JsonArray jsonArray = jsonReader.readArray();
String jsonNewString = "{\"name\":\"zyx\","
+ "\"URL\":\"http://example2.com\"}]";
jsonReader = Json.createReader(new StringReader(jsonNewString));
JsonObject jsonObject = jsonReader.readObject();
jsonReader.close();
jsonArray.remove(0);
jsonArray.add(0, jsonObject);
我得到了一个例外:
java.lang.UnsupportedOperationException
at java.util.AbstractList.remove(AbstractList.java:161)
我还尝试了:jsonArray.set(0,jsonObject)代码>,并获得相同的不支持操作异常
状态的javadoc
JsonArray
表示一个不可变的JSON数组(一个有序的
零个或多个值)它还提供不可修改的列表视图
数组中的值。
你不能改变它。使用所需的值创建一个新的