java - 从列表创建 JsonArray

标签 java json jakarta-ee java-ee-7


我需要从 JsonObjects 的 java.util.List 创建一个 javax.json.JsonArray 对象 (Java EE 7 API)。 以前,在使用 JSON API 时,我曾经简单地使用:

JSONArray jsonArray = new JSONArray(list);

但我可以看到在 javax.json.JsonArray 中没有等效的构造函数。 有没有一种简单的方法(除了浏览所有列表)来做到这一点?
谢谢

最佳答案

不幸的是,标准 JsonArrayBuilder 不将列表作为输入。因此,您需要遍历列表。

我不知道你的 List 长什么样,但你可以做一个像这样的函数:

public JsonArray createJsonArrayFromList(List<Person> list) {
    JsonArray jsonArray = Json.createArrayBuilder();
    for(Person person : list) {
        jsonArray.add(Json.createObjectBuilder()
            .add("firstname", person.getFirstName())
            .add("lastname", person.getLastName()));
    }
    jsonArray.build();
    return jsonArray;
}

关于java - 从列表创建 JsonArray,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21909059/

相关文章:

java - JAVA企业版的JRE和JVM是一样的吗?

java - Jackson Json 解析错误

java - 调整gridview和按钮的roe

json - 以字段 B 为条件从字段 A 的数组中进行条件删除

json - 将必填字段应用于引用的 JSON 数据架构

java - JaxbRepresentation 给出错误 "doesnt contain ObjectFactory.class or jaxb.index"

jakarta-ee - 如何使用 CDI 1.0 从扫描中排除某个类别

Java 8 Stream 确定文本文件中的最大计数

java - 为什么我收到“属性值必须是常量”错误?

java - 我怎样才能把json放到java中的 map 上