我有一个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"},
{...}
]
}
答案 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);