如何在Java中将Arraylist转换为Json [英] How to convert Arraylist to Json in Java

查看:871
本文介绍了如何在Java中将Arraylist转换为Json的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个arraylist,这个arraylist容纳了一堆Domain对象.如下图所示:

I have an arraylist, the arraylist holds a bunch of Domain object. It's like below showed:

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?数据格式应为:

My question is how to convert the ArrayList to JSON? The data format should be:

{  
"param":{  
  "domain":[  
    {  
      "domid":19,
      "name":"a",
      "dnsname":"a.com",
      "type":0,
      "flags":
    },
    ...
  ]
}

推荐答案

不确定是否正是您所需要的,但是您可以使用 GSON 库(

Not sure if it's exactly what you need, but you can use the GSON library (Link) for ArrayList to JSON conversion.

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

If for some reason you find it more convenient, you can also iterate through the ArrayList and build a JSON from individual Domain objects in the list

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中将Arraylist转换为Json的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆