从Java列表创建JSON字符串数组

从Java列表创建JSON字符串数组,java,json,Java,Json,我有一个java.util.List,其中包含我想要呈现为JSON数组字符串的java POJO。例如: [ { "name": "abc", "age": 50 }, { "name": "def", "age": "25" } ]; 使用Java EE JSON Api,我添加了: public String createJsonArrayFromList(List<Person> list) { JsonArrayBuilder jsonArray = Jso


我有一个java.util.List,其中包含我想要呈现为JSON数组字符串的java POJO。例如:

[
  { "name": "abc", "age": 50 },
  { "name": "def", "age": "25" }
];
使用Java EE JSON Api,我添加了:

public String createJsonArrayFromList(List<Person> list) {
    JsonArrayBuilder jsonArray = Json.createArrayBuilder();
    for(Person c : list) {
        jsonArray.add(Json.createObjectBuilder()
                .add("name", c.getName())
                .add("surname", c.getSurname()));
    }
    JsonArray array =jsonArray.build();
    return array.toString();
}
但是writeObject需要不同的对象类型,而不是JsonArray。
有什么帮助吗?

使用
writeArray
而不是
writeObject

JsonArray arr=。。。;
JsonWriter=Json.createWriter(…)
编剧-编剧雷(arr);
writer.close();

请参阅。

使用
writeArray
而不是
writeObject

JsonArray arr=。。。;
JsonWriter=Json.createWriter(…)
编剧-编剧雷(arr);
writer.close();

请参阅。

您可以使用Gson库,它可以更好地帮助您

GsonBuilder builder=new GsonBuilder();
Gson gson=builder.create();
List<YourMeberClas> YourList=new ArrayList<>();
JsonElement je = gson.toJsonTree(YourList, new 
TypeToken<List<YourMemberClass>>() {
            }.getType());
GsonBuilder=newgsonbuilder();
Gson Gson=builder.create();
List YourList=new ArrayList();
JsonElement je=gson.toJsonTree(您的列表,新的
TypeToken(){
}.getType());

这样,您也可以轻松访问数据

您可以使用Gson库,它可以更好地帮助您

GsonBuilder builder=new GsonBuilder();
Gson gson=builder.create();
List<YourMeberClas> YourList=new ArrayList<>();
JsonElement je = gson.toJsonTree(YourList, new 
TypeToken<List<YourMemberClass>>() {
            }.getType());
GsonBuilder=newgsonbuilder();
Gson Gson=builder.create();
List YourList=new ArrayList();
JsonElement je=gson.toJsonTree(您的列表,新的
TypeToken(){
}.getType());
这样,您也可以轻松访问数据