# mehrere Json Werte  Parsen



## 27sharp (10. Okt 2015)

Hallo Leute,

Ich stehe vor einem Problem. Ich habe folgende Json Datei:

```
[{"Datum":"11.10.2015","Uhr1":"05:53","Uhr2":"07:44","Uhr3":"13:27","Uhr4":"16:18","Uhr5":"18:58","Uhr6":"20:18","Uhr7":"10:08"},
{"Datum":"12.10.2015","Uhr1":"05:53","Uhr2":"07:44","Uhr3":"13:27","Uhr4":"16:18","Uhr5":"18:55","Uhr6":"20:18","Uhr7":"10:07"},
{"Datum":"13.10.2015","Uhr1":"05:53","Uhr2":"07:44","Uhr3":"13:27","Uhr4":"16:18","Uhr5":"18:56","Uhr6":"20:18","Uhr7":"10:06"},
{"Datum":"14.10.2015","Uhr1":"05:53","Uhr2":"07:44","Uhr3":"13:27","Uhr4":"16:18","Uhr5":"18:53","Uhr6":"20:18","Uhr7":"10:05"},
{"Datum":"15.10.2015","Uhr1":"05:53","Uhr2":"07:44","Uhr3":"13:27","Uhr4":"16:18","Uhr5":"18:54","Uhr6":"20:18","Uhr7":"10:09"},
{"Datum":"16.10.2015","Uhr1":"05:53","Uhr2":"07:44","Uhr3":"13:27","Uhr4":"16:18","Uhr5":"18:52","Uhr6":"20:18","Uhr7":"10:08"},
{"Datum":"17.10.2015","Uhr1":"05:53","Uhr2":"07:44","Uhr3":"13:27","Uhr4":"16:18","Uhr5":"18:55","Uhr6":"20:18","Uhr7":"10:05"}]
```

Ich möchte die jetzt Parsen, und zwar so, dass nur das zu dem aktuellen Datum passende "Packet" ausgegeben wird. Das aktuelle Datum kann ich ausgeben, nur weiß ich nicht wie ich die vergleichen soll und nur die jeweilige Zeile ausgeben soll.

Ein Beispiel:
wir haben den 11.10.2015. Dann möchte ich die dazugehörigen Uhrzeiten von Uhr1 bis Uhr7 erhalten.

Meine Ansätze wären mit der lib Json simple :


```
public  void getJson(){
     
     try {
        Object obj = parser.parse(new FileReader("C://Users//Ömer//Desktop//ezan1.txt"));
     
        JSONObject jsonObject = (JSONObject) obj;
     
      
     
        datum = (String) jsonObject.get("Datum");
        uhr1 = (String)jsonObject.get("Uhr1");
        uhr2 = (String) jsonObject.get("Uhr2");
        uhr3 = (String) jsonObject.get("Uhr3");
        uhr4= (String) jsonObject.get("Uhr4");
        uhr5= (String) jsonObject.get("Uhr5");
        uhr6= (String) jsonObject.get("Uhr6");
        uhr7 = (String) jsonObject.get("Uhr7");
```

Damit komme ich aber nur zurecht wenn ich nicht mehrere Tage habe..


----------



## InfectedBytes (11. Okt 2015)

Die Datei die du einliest besteht aus einem Array, bei dem die einzelnen Einträge aus objekten bestehen. 
Wenn du dein json objekt eingelesen hast, iterierst du nun über dein JSON Array (wird von der lib in eine ArrayList umgewandelt) und kannst dann auf jedes einzelne Objekt zugreifen


----------



## 27sharp (11. Okt 2015)

Das mit dem Array hatte ich auch schon, doch wie kann ich das Array ansprechen?


----------



## Varthor (11. Okt 2015)

Wenn du über den Array iterrierst, dann greifst du bei jedem Schleifendurchlauf ein JSONObject ab.


```
for(int i =0, i <= jsonArray.length()-1; i++)
{
JSONObject tmpObject = jsonArray.getJSONObject(i);
/* Bzw. in einer Struktur abspeichern die du auch brauchst
/* Liste von JSONObjects oder die Strings direkt auslesen und
/* verarbeiten
}
```

Das erhaltene JSONObject kannst du dann wieder "ganz normal" auslesen.


----------

