繁体   English   中英

Json:将对象添加到数组

[英]Json: Add object to array

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

[
    { "some_stuff": "stuff" },
    { "some_stuff": "stuff" }
]

我需要使用与示例中相同的键向该数组添加下一个对象,但是我冻结在array.add();

JsonObject jsonObject = Json.createObjectBuilder()
    .add("some_stuff", "stuff")
        .build();

JsonArray array = jsonReader.readArray();
array.add(jsonObject); // UnsupportedOperationException

JsonArray是不可变的,因此您不能向其添加对象(因此例外)。 文档

JsonArray表示一个不变的JSON数组(零个或多个值的有序序列)。 它还提供了数组中值的不可修改的列表视图。

您需要使用JsonArrayBuilder对象。 这至少是一种方法:

  1. 创建一个JsonArrayBuilder对象。 (有关方法,请参阅文档链接)

  2. 将每个元素添加到您的JsonArray array = jsonReader.readArray(); JsonArrayBuilderObject对象

  3. 添加您的JsonObject

  4. 呼叫.buildJsonArrayBuilder将其转换为一个JsonArray将包含所有的元素。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM