# Objekt zu jsonArray in .json datei hinzufügen ?



## Mx1co (18. Dez 2020)

Moin,
Ich arbeite mit der org.json libary. Ich habe eine .json datei die wie folgt aussieht: 

[CODE lang="java" title="json-datei"][
  {
    "Stadt": "Berlin",
    "Land": "Deutschland",
    "Einwohner": [
      {
        "Name": "Peter Müller",
        "Geburtstag": "8.8.1990"
      }
    ]
  }
][/CODE]

Dies ist nur eine beispiel datei. Ich hänge nun leider an dem Problem, dass ich nicht weis, wie man durch einen Code einen neuen Einwohner unter dem Array "Einwohner" hinzufügt. Wäre nett, wenn mir jemand bei meinem Problem helfen könnte .

MfG


----------



## httpdigest (18. Dez 2020)

```
import org.json.*;
public class AlleLaender {
  public static void main(String[] args) {
    String json =
      "[\r\n"
    + "  {\r\n"
    + "    \"Stadt\": \"Berlin\",\r\n"
    + "    \"Land\": \"Deutschland\",\r\n"
    + "    \"Einwohner\": [\r\n"
    + "      {\r\n"
    + "        \"Name\": \"Peter Müller\",\r\n"
    + "        \"Geburtstag\": \"8.8.1990\"\r\n"
    + "      }\r\n"
    + "    ]\r\n"
    + "  }\r\n"
    + "]";
    JSONTokener tokener = new JSONTokener(json);
    JSONArray array = new JSONArray(tokener);
    JSONObject dieStadt = array.getJSONObject(0);
    JSONArray einwohner = dieStadt.getJSONArray("Einwohner");
    JSONObject neuerEinwohner = new JSONObject();
    neuerEinwohner.put("Name", "Petra Möller");
    neuerEinwohner.put("Geburtstag", "9.9.1990");
    einwohner.put(neuerEinwohner);
    System.out.println(array.toString(2));
  }
}
```


----------



## Mx1co (18. Dez 2020)

httpdigest hat gesagt.:


> ```
> import org.json.*;
> public class AlleLaender {
> public static void main(String[] args) {
> ...



Danke erstmal. Jedoch der zweite Teil meiner Frage ist, wie dieses neue array nun in der .json datei gespeichert werden kann. Weil das array ist zwar nun aktualisiert mit dem neuen Member, jedoch steht dieser nicht in der datei


----------



## httpdigest (18. Dez 2020)

```
import java.io.*;
import org.json.*;
public class AlleLaender {
  public static void main(String[] args) throws IOException {
    String json = "...";
    JSONTokener tokener = new JSONTokener(json);
    JSONArray array = new JSONArray(tokener);
    JSONObject dieStadt = array.getJSONObject(0);
    JSONArray einwohner = dieStadt.getJSONArray("Einwohner");
    JSONObject neuerEinwohner = new JSONObject();
    neuerEinwohner.put("Name", "Petra Möller");
    neuerEinwohner.put("Geburtstag", "9.9.1990");
    einwohner.put(neuerEinwohner);
    try (FileWriter fw = new FileWriter("dieDatei.json")) {
      fw.write(array.toString(2));
    }
  }
}
```


----------

