如何在Java中将Arraylist转换为Json
我有一个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 list = new ArrayList (); list.add("str1"); list.add("str2"); list.add("str3"); String json = new Gson().toJson(list);
或者在你的情况下:
ArrayList list = new ArrayList (); list.add(new Domain()); list.add(new Domain()); list.add(new Domain()); String json = new Gson().toJson(list);
如果由于某种原因您发现它更方便,您还可以遍历ArrayList
并从列表中的各个Domain
对象构建JSON
String toJSON(ArrayList list) { Gson gson = new Gson(); StringBuilder sb = new StringBuilder(); for(Domain d : list) { sb.append(gson.toJson(d)); } return sb.toString(); }