Java Json:将对象添加到数组
我使用javax.json库在Java中使用json。 我试图在JsonArray中添加JsonObject,例如:Java Json:将对象添加到数组,java,arrays,json,Java,Arrays,Json,我使用javax.json库在Java中使用json。 我试图在JsonArray中添加JsonObject,例如: [ { "some_stuff": "stuff" }, { "some_stuff": "stuff" } ] 我需要向这个数组中添加下一个具有与示例中相同键的对象,但我已经冻结在array.add() JsonArray是不可变的,因此不能向其中添加对象(因此出现异常)。从: JsonArray表示一个不可变的JSON数组(零或多个值的有序序列)。它还提供数
[
{ "some_stuff": "stuff" },
{ "some_stuff": "stuff" }
]
我需要向这个数组中添加下一个具有与示例中相同键的对象,但我已经冻结在array.add()代码>
JsonArray是不可变的,因此不能向其中添加对象(因此出现异常)。从:
JsonArray表示一个不可变的JSON数组(零或多个值的有序序列)。它还提供数组中值的不可修改列表视图
您需要使用JsonArrayBuilder
对象。至少有一种方法可以做到这一点:
创建一个JsonArrayBuilder
对象。(如何操作,请参见文档链接)
在JsonArray数组中添加每个元素=
jsonReader.readArray()代码>对象到JsonArrayBuilderObject
添加您的JsonObject
在JsonArrayBuilder
上调用.build
,将其转换为包含所有元素的JsonArray
我认为,除非序列化要添加的对象,否则不会成功。如何初始化Json读取器?@OzanTabak是的。这只是一个例子,我正在使用javax.json库。javax.json是Java最差的json工具包之一。大约还有十几个。
JsonObject jsonObject = Json.createObjectBuilder()
.add("some_stuff", "stuff")
.build();
JsonArray array = jsonReader.readArray();
array.add(jsonObject); // UnsupportedOperationException