我正在使用javax.json
,当我尝试更改jsonObject
中的jsonArray
时:
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);
,并获得相同的UnsupportedOperationException
。
答案 0 :(得分:3)
JsonArray
州的javadoc
JsonArray
表示一个不可变的JSON数组(一个有序的序列) 零个或多个值)。 它还提供了一个不可修改的列表视图 数组中的值。
你无法改变它。用你想要的值创建一个新的。