# json inkl. Array/Verschachtelung erstellen



## Zack (5. Dez 2020)

Hallo zusammen,

ich suchte gerade eine Lösung, wie ich json arrays erstellen kann. Sowas z.B.

[CODE lang="json" title="json array"]
{
   "Mitarbeiterliste":[
      {
         "Name":"Peter",
         "id":0
      },
      {
         "Name":"Peter",
         "id":1
      },
      {
         "Name":"Peter",
         "id":2
      },
      {
         "Name":"Peter",
         "id":3
      }
   ]
}
[/CODE]

Bei strukturierten Aufschreiben, um euch das Problem zu schildern bin ich dann doch noch selbst auf die Lösung gekommen 
Mehrere Objects kann man in ein Array einfügen. Das muss man dann wieder einem Object zuführen und immer brav .build() ausführen.

Also, falls es mal jemand benötigt, hier ein Beispiel:


```
package jsontest;
import java.io.*;
import javax.json.*;


public class jsontestclass {

    public static void main(String[] args) {
 
        
        JsonObjectBuilder objBuilder = Json.createObjectBuilder();
        JsonArrayBuilder arrBuilder = Json.createArrayBuilder();


        for (int i=0;i<4;i++) {
            
            arrBuilder.add(Json.createObjectBuilder()
                    .add("Name", "Peter").add("id", i));
        }
        
        
        objBuilder.add("Mitarbeiterliste", arrBuilder.build());

        
        Json.createWriter(System.out).write(objBuilder.build());
        
    }

}
```


Ist jetzt vielleicht nicht der schönste Code, aber es funktioniert erstmal und vielleicht hilft es ja dem ein oder anderen.

Verbesserungen natürlich immer gerne!


----------



## mrBrown (5. Dez 2020)

Der einfachere Weg wäre, JSON-B zu nutzen, Klassen für die Struktur zu erstellen, und das konvertieren dann automatisch machen zu lassen


----------



## Zack (5. Dez 2020)

Danke für den Hinweis, klingt auch nicht schlecht. Ist vielleicht nicht einfacher, aber in jedem Fall eleganter!


----------

