我有一个 arraylist,arraylist 包含一堆 Domain 对象。如下图所示:
Domain [domainId=19, name=a, dnsName=a.com, type=0, flags=0]
Domain [domainId=20, name=b, dnsName=b.com, type=0, flags=12]
Domain [domainId=21, name=c, dnsName=c.com, type=0, flags=0]
Domain [domainId=22, name=d, dnsName=d.com, type=0, flags=0]
我的问题是如何将 ArrayList
转换为 JSON?数据格式应为:
{
"param":{
"domain":[
{
"domid":19,
"name":"a",
"dnsname":"a.com",
"type":0,
"flags":
},
...
]
}
最佳答案
不确定它是否正是您所需要的,但您可以使用 GSON 库 ( Link ) 将 ArrayList
转换为 JSON
.
ArrayList<String> list = new ArrayList<String>();
list.add("str1");
list.add("str2");
list.add("str3");
String json = new Gson().toJson(list);
或者在你的情况下:
ArrayList<Domain> list = new ArrayList<Domain>();
list.add(new Domain());
list.add(new Domain());
list.add(new Domain());
String json = new Gson().toJson(list);
如果出于某种原因您觉得它更方便,您还可以遍历 ArrayList
并从中的各个 Domain
对象构建一个 JSON
名单
String toJSON(ArrayList<Domain> list) {
Gson gson = new Gson();
StringBuilder sb = new StringBuilder();
for(Domain d : list) {
sb.append(gson.toJson(d));
}
return sb.toString();
}
关于java - Java中Arraylist转Json的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25771822/