从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());
这样,您也可以轻松访问数据