如何在对象中提取多个json对象

时间:2017-09-25 16:19:11

标签: java json

我试图从json文件中读取剧集列表(http://epguides.frecar.no/show/bigbangtheory/),计算剧集标题并在控制台中打印。但是,由于我刚接触json,我甚至无法达到第一个标题,因此总是返回null。我们将非常感谢您向正确的方向提供一点帮助或小小的提示。

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 个答案:

答案 0 :(得分:0)

JSON文件包含一个包含所有季节的对象。

在您能够阅读标题之前,您需要提取特定的季节和剧集。

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