java - Java中Arraylist转Json的方法

标签 java 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<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/

相关文章:

java - 反射:从未知的正在运行的应用程序中获取值

java - 使用 orika 从多个源映射到目的地

javascript - 在 Javascript 中解析 JSON 时出现问题

ruby - Ruby 中的 JSON 解析

Java swt - 在缩放和缩放后从图像中获取实际的 x,y 坐标

java - 如何为用户定义的输入提供转义序列

java - 在Java中总是至少有一个线程;这在 C++ 中是真的吗?

javascript - ajax post之后mvc url太长

python - 如何在 Pandas 中创建按索引分组的记录列表?

jquery - 在 jquery datatables.net 中呈现 bool 数据列的最佳方法