2017-09-25 6 views
0

Ich versuche, eine Liste von Episoden (http://epguides.frecar.no/show/bigbangtheory/) aus einer JSON-Datei zu lesen, zählen Sie die Episodentitel und drucken Sie sie in der Konsole. Aber da ich neu mit json arbeite, kann ich es nicht einmal schaffen, den ersten Titel zu erreichen. Eine kleine Hilfe oder ein kleiner Hinweis auf die richtige Richtung wäre sehr willkommen.Wie extrahiert man mehrere JSON-Objekte innerhalb von Objekten

JSONParser parser = new JSONParser(); 

try {  

    File tmpDir = new File("src/bigbangtheory.json"); 
    boolean exists = tmpDir.exists(); 
    if (exists==true) System.out.println("file exists"); 
    else System.out.println("file doesn't exist"); 

    Object obj = parser.parse(new FileReader("src/bigbangtheory.json")); 

    JSONObject season = (JSONObject) obj; 
    System.out.println(obj);    

    Object title = (Object) season.get("title"); 
    System.out.println(title);   

} catch (FileNotFoundException e) { 
    e.printStackTrace(); 
} catch (IOException e) { 
    e.printStackTrace(); 
} catch (org.json.simple.parser.ParseException e) { 
    // TODO Auto-generated catch block 
    e.printStackTrace(); 
} 
+1

Verwenden Sie Jackson Parser. Könnte einfacher sein :) – MarianP

Antwort

0

Die JSON-Datei enthält ein Objekt, das alle Jahreszeiten enthält.

Von diesem Objekt müssen Sie eine bestimmte Staffel und Episode extrahieren, bevor Sie einen Titel lesen können.

Object obj = parser.parse(new FileReader("src/bigbangtheory.json")); 

JSONObject seasons = (JSONObject) obj; 
System.out.println(seasons); 

JSONArray seasonTwo = (JSONArray) seasons.get("2"); 
System.out.println(seasonTwo); 

for (Object o : seasonTwo) { 
    JSONObject episode = (JSONObject) o; 
    Object title = episode.get("title"); 
    System.out.println(title); 
} 
Verwandte Themen