首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在java中将IMDB数据获取到JSON数组

在java中将IMDB数据获取到JSON数组
EN

Stack Overflow用户
提问于 2016-07-16 02:46:27
回答 2查看 1.2K关注 0票数 0

我正在使用java做一个项目。在这个项目中,我必须从IMDB获取电影数据。到目前为止,我已经了解到,使用与电影id的直接链接,我们可以以JSON文件的形式获取数据。

代码语言:javascript
复制
http://www.omdbapi.com/?i=tt2975590&plot=full&r=json

我希望在java中将这些数据发送到JSON数组。有人能帮我做这个吗。谢谢。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-07-16 03:24:32

下载文件的下载功能&返回结果:

代码语言:javascript
复制
private static String download(String urlStr) throws IOException {
    URL url = new URL(urlStr);
    String ret = "";
    BufferedInputStream bis = new BufferedInputStream(url.openStream());
    byte[] buffer = new byte[1024];
    int count = 0;
    while ((count = bis.read(buffer, 0, 1024)) != -1) {
        ret += new String(buffer, 0, count);
    }
    bis.close();
    return ret;
}

构建JsonObject &转换为JsonArray like that

代码语言:javascript
复制
try {
    String ret = download("http://www.omdbapi.com/?i=tt2975590&plot=full&r=json");

    if (ret != null) {

        JSONObject items = new JSONObject(ret);
        Iterator x = items.keys();
        JSONArray jsonArray = new JSONArray();

        while (x.hasNext()) {
            String key = (String) x.next();
            jsonArray.put(items.get(key));
            System.out.println(key + " : " + items.get(key));
        }
    }

} catch (IOException e) {
    e.printStackTrace();
} catch (JSONException e) {
    e.printStackTrace();
}
票数 1
EN

Stack Overflow用户

发布于 2016-07-16 03:24:57

从根本上讲,有两项任务需要解决:

  • 从Java应用程序向URL端点发出HTTP请求
  • 将响应数据从序列化的JSON转换为可以在应用程序中使用的数据结构。

一种方法是分别解决这些任务。好的HttpClient库并不短缺(可以想到Apache和Jetty )。也不缺少在Java中操作JSON的好库。(杰克逊,谷歌的GSON,其他人)

然而,Java中与web服务交互的“标准”方式是通过JAX标准进行的,泽西岛是该标准的参考实现。泽西客户端模块将允许您在单个操作中执行HTTP调用,并将JSON反序列化为“与bean兼容的”Java类。请参阅这里的泽西文档:

https://jersey.java.net/documentation/latest/client.html

有关JSON封送处理的信息,请参见:

https://jersey.java.net/documentation/latest/media.html#json

尽管如此,如果您只需要调用一个API,并且只是在寻找最快的方法,而不一定是最精巧的解决方案,那么Apache HTTPComponents和Google GSON可能就是我选择的路线。

祝好运!

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38407217

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档