我想从OMDB API获得电影数据,它是JSON文本。我正在使用Java对此和包JSON-imple进行解码。

我要解码的URL例如:http://www.omdbapi.com/?t=icarus

结果(直接复制和粘贴,而非结构化):


  {“标题”:“ Icarus”,“年份”:“ 2010”,“额定”:“ TV-14”,“发布”:“ 2010年12月10日”,“运行时间”:“ 42分钟”,“类型”: “冒险,戏剧,浪漫”,“导演”:“ Mairzee Almas”,“作家”:“ Alfred Gough(创作者),Jerry Siegel(角色由超人创建),Miles Millar(创作者),Joe Shuster(角色由创作者) :超人),阿尔弗雷德·高夫(由电视开发),迈尔斯·米拉尔(由电视开发),吉纳维芙·斯伯林”,“演员”:“汤姆·韦林,埃里卡·杜兰斯,卡西迪·弗里曼,贾斯汀·哈特利”,“剧情”:“ VRA威胁加剧,克拉克主动采取行动,关闭了t望塔,并宣布联盟正式进入地下,但这足以制止小跑和斯拉德·威尔逊……”,“语言”:“英语”,“国家/地区”:“美国“,”奖项“:” N / A“,”海报“:” http://ia.media-imdb.com/images/M/MV5BMjIwNDQ2MjM5OV5BMl5BanBnXkFtZTcwODU4NzU0NA@@._V1_SX300.jpg“,” Metascore“:” N / A“,” imdbRating“:” 8.6“,” imdbVotes“:” 367“,” imdbID “:” tt1628582“,”类型“:”情节“,”响应“:”真实“}


我的按钮下的代码:

        String url = "http://www.omdbapi.com/?t=" + jListFilms.getSelectedValue().toString();

    try {
        JSONParser parser = new JSONParser();
        Object obj = parser.parse(url);
        JSONObject jsonObj = (JSONObject) obj;

        String title = (String) jsonObj.get("Title") ;
        System.out.println(title);

    } catch (ParseException e){
        System.out.println(e);
    }


当我打印出可变标题时


  位置0处的意外字符(h)。


有谁知道我为什么没有这部电影的标题?

最佳答案

您的代码正在执行的操作是解析以“ http://”开头的字符串URL,因此h在位置0。

您需要在该URL发出HTTP GET请求,以取回JSON。

Here's an answer for how to issue the GET request

08-27 19:05
查看更多