0

我遇到了以下教程: http ://www.mkyong.com/java/how-to-convert-java-object-to-from-json-jackson/

但是本教程展示了如何将 json 转换为 Java 对象,当 json 文件存储在用户的 pc 上时。我想做的是,当我转到以下链接时:

http://api.rottentomatoes.com/api/public/v1.0/movies.json?apikey=[MyApiKey]&q=Toy+Story+3&page_limit=1

它返回我以下 json 数据:

{
  "total": 2,
  "movies": [{
    "id": "770672122",
    "title": "Toy Story 3",
    "year": 2010,
    "mpaa_rating": "G",
    "runtime": 103,
    "critics_consensus": "Deftly blending comedy, adventure, and honest emotion, Toy Story 3 is a rare second sequel that really works.",
    "release_dates": {
      "theater": "2010-06-18",
      "dvd": "2010-11-02"
    },
    "ratings": {
      "critics_rating": "Certified Fresh",
      "critics_score": 99,
      "audience_rating": "Upright",
      "audience_score": 91
    },
    "synopsis": "Pixar returns to their first success with Toy Story 3. The movie begins with Andy leaving for college and donating his beloved toys -- including Woody (Tom Hanks) and Buzz (Tim Allen) -- to a daycare. While the crew meets new friends, including Ken (Michael Keaton), they soon grow to hate their new surroundings and plan an escape. The film was directed by Lee Unkrich from a script co-authored by Little Miss Sunshine scribe Michael Arndt. ~ Perry Seibert, Rovi",
    "posters": {
      "thumbnail": "http://content6.flixster.com/movie/11/13/43/11134356_mob.jpg",
      "profile": "http://content6.flixster.com/movie/11/13/43/11134356_pro.jpg",
      "detailed": "http://content6.flixster.com/movie/11/13/43/11134356_det.jpg",
      "original": "http://content6.flixster.com/movie/11/13/43/11134356_ori.jpg"
    },
    "abridged_cast": [
      {
        "name": "Tom Hanks",
        "characters": ["Woody"]
      },
      {
        "name": "Tim Allen",
        "characters": ["Buzz Lightyear"]
      },
      {
        "name": "Joan Cusack",
        "characters": ["Jessie the Cowgirl"]
      },
      {
        "name": "Don Rickles",
        "characters": ["Mr. Potato Head"]
      },
      {
        "name": "Wallace Shawn",
        "characters": ["Rex"]
      }
    ],
    "alternate_ids": {"imdb": "0435761"},
    "links": {
      "self": "http://api.rottentomatoes.com/api/public/v1.0/movies/770672122.json",
      "alternate": "http://www.rottentomatoes.com/m/toy_story_3/",
      "cast": "http://api.rottentomatoes.com/api/public/v1.0/movies/770672122/cast.json",
      "clips": "http://api.rottentomatoes.com/api/public/v1.0/movies/770672122/clips.json",
      "reviews": "http://api.rottentomatoes.com/api/public/v1.0/movies/770672122/reviews.json",
      "similar": "http://api.rottentomatoes.com/api/public/v1.0/movies/770672122/similar.json"
    }
  }],
  "links": {
    "self": "http://api.rottentomatoes.com/api/public/v1.0/movies.json?q=Toy+Story+3&page_limit=1&page=1",
    "next": "http://api.rottentomatoes.com/api/public/v1.0/movies.json?q=Toy+Story+3&page_limit=1&page=2"
  },
  "link_template": "http://api.rottentomatoes.com/api/public/v1.0/movies.json?q={search-term}&page_limit={results-per-page}&page={page-number}"
}

我想将此数据存储在 Java 对象中,然后使用它。我是Java编程的新手。谢谢。

4

2 回答 2

0

我建议使用 Gson 库之类的东西来解析 Json。
Gson 让它变得非常优雅和简单。
但是,由于您是新手,我建议您阅读Gson Overview

于 2013-04-14T15:03:38.710 回答
0

Jackson 有一些内置的方法来读取 URL。您可以尝试以下方法(使用 java.net.URL):

ObjectMapper mapper = new ObjectMapper();
User user = mapper.readValue(new URL("http://www.mydomain.com/info.json"), User.class);
于 2013-04-14T21:43:07.693 回答