Java Json:将对象添加到数组

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数组(零或多个值的有序序列)。它还提供数

我使用javax.json库在Java中使用json。 我试图在JsonArray中添加JsonObject,例如:

[
    { "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