-2

I have an ArrayList which I want to transform into a JSON array of objects. How can I transform it?

Array is of type 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;

for each member variable there is a getter and a setter.

I store it like this:

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

My JSON should look like this:

   { 
     "kunden": [
       {"name1": "hans", "name2": "peter"}, 
       {...} 
     ]
   }
Karol Dowbecki
  • 43,645
  • 9
  • 78
  • 111
Felix
  • 5,452
  • 12
  • 68
  • 163

2 Answers2

1

Play comes with play-json module which can do it. You might have to create a wrapping class to output the kunden root node:

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);

Note that ObjectMapper is used to pretty print.

See the official Play Framework 2.6.X docs: Mapping Java objects to JSON.

Karol Dowbecki
  • 43,645
  • 9
  • 78
  • 111
-2

Try to do something like this

ArrayList<Kundle> list = new ArrayList<Kundle>();
    list.add("yo");
    list.add("yo");
    JSONArray jsArray = new JSONArray(list);
Xay
  • 248
  • 3
  • 10