如何将数组的对象列表转换为Json

时间:2018-03-17 17:12:39

标签: java json playframework

我有一个ArrayList,我想将其转换为JSON对象数组。我怎样才能改变它?

数组的类型为Kunde

public class Kunde {
    private String knr;
    private String name1;
    private String name2;
    private String anrede;
    private String strasse;
    private String plz;
    private String ort;
    private String erfdat;
    private String telefon;
    private String fax;
    private String handy;
    private String lastbes;
    private String email;
    private String land;

对于每个成员变量,都有一个getter和一个setter。

我这样存储:

   List<Kunde> Kunden = new ArrayList<Kunde>();

我的JSON应如下所示:

   { 
     "kunden": [
       {"name1": "hans", "name2": "peter"}, 
       {...} 
     ]
   }

2 个答案:

答案 0 :(得分:1)

Play附带play-json模块可以执行此操作。您可能必须创建一个包装类来输出kunden根节点:

public class Kunden {
  private List<Kunde> kunden;
  // getter and setter
}

Kunden root = new Kunden();
kunden.setKunden(...);

JsonNode rootNode = Json.toJson(root);
ObjectMapper mapper = new ObjectMapper(); 
String json = mapper.writerWithDefaultPrettyPrinter().writeValueAsString(node);

请注意,ObjectMapper用于打印。

请参阅官方Play Framework 2.6.X文档:Mapping Java objects to JSON

答案 1 :(得分:-2)

尝试做这样的事情

ArrayList<Kundle> list = new ArrayList<Kundle>();
    list.add("yo");
    list.add("yo");
    JSONArray jsArray = new JSONArray(list);