2014-10-12 2 views
0

Im новое для JSON, поэтому у меня есть вопрос об этом.Получение изображений URL из JSON

Я хочу получить изображение объекта JSON в информации JSONObject. Но каков наилучший способ сделать это?

Когда я получаю запрос обратно с JSON я получил это:

{ 
    "status" : "done", 
    "info" : { 
     "rating" : { 
      "imdb" : [5.7000000000000002, 129331] 
     }, 
     "genres" : ["Action", "Crime", "Thriller"], 
     "tmdb_id" : 584, 
     "plot" : "It's a major double-cross when former police officer Brian O'Conner teams up with his ex-con buddy Roman Pearce to transport a shipment of \"dirty\" money for shady Miami-based import-export dealer Carter Verone. But the guys are actually working with undercover agent Monica Fuentes to bring Verone down.", 
     "tagline" : "How Fast Do You Want It?", 
     "original_title" : "2 Fast 2 Furious", 
     "actor_roles" : { 
      "Mark Boone Junior" : "Detective Whitworth", 
      "Amaury Nolasco" : "Orange Julius", 
      "Edward Finlay" : "Agent Dunn", 
      "Cole Hauser" : "Carter Verone", 
      "Ludacris" : "Tej", 
      "Devon Aoki" : "Suki", 
      "James Remar" : "Agent Markham", 
      "Jin Auyeung" : "Jimmy", 
      "Eric Etebari" : "Darden", 
      "Paul Walker" : "Brian O'Conner", 
      "Mo Gallini" : "Enrique", 
      "Eva Mendes" : "Monica Fuentes", 
      "Tyrese Gibson" : "Roman Pearce", 
      "Thom Barry" : "Agent Bilkins", 
      "Michael Ealy" : "Slap Jack" 
     }, 
     "collection" : "The Fast and the Furious Collection", 
     "via_imdb" : true, 
     "mpaa" : "PG-13", 
     "via_tmdb" : true, 
     "directors" : ["John Singleton"], 
     "titles" : ["2 Fast 2 Furious", "The Fast and the Furious 2", "M\u00e1s r\u00e1pido, m\u00e1s furioso", "\u73a9\u547d\u95dc\u982d2 \u98c6\u98a8\u518d\u8d77", "Fast and the Furious Vol2", "The Fast and the Furious 2 - 2 Fast 2 Furious", "+ Veloses + Furiosos", "Rapide et dangereux 2", "Fast & Furious 2", "Fast and Furious 2", "\ubd84\ub178\uc758 \uc9c8\uc8fc 2"], 
     "imdb" : "tt0322259", 
     "year" : 2003, 
     "images" : { 
      "disc_art" : ["http://assets.fanart.tv/fanart/movies/584/moviedisc/2-fast-2-furious-520e18cde06ab.png"], 
      "poster" : ["https://image.tmdb.org/t/p/w154/3CrNPUulPGbsJIH2ZnLYomGIVrk.jpg", "http://ia.media-imdb.com/images/M/MV5BMTIyMDUwMDc4OF5BMl5BanBnXkFtZTYwNTY2Nzk5._V1_.jpg", "http://ia.media-imdb.com/images/M/MV5BMTIyMDUwMDc4OF5BMl5BanBnXkFtZTYwNTY2Nzk5._V1_SX300.jpg"], 
      "extra_thumbs" : ["https://image.tmdb.org/t/p/original/xvNOnVYmtkevs1kby3X1rQXb2iU.jpg", "https://image.tmdb.org/t/p/original/911LypVOfeIYCVmpFWJW0NpjIXG.jpg", "https://image.tmdb.org/t/p/original/7Zc0ubgNke1pGKyQjews7yMD0Jb.jpg", "https://image.tmdb.org/t/p/original/yIg8L8J7UFfKGCtoWDH7QTevs6C.jpg"], 
      "poster_original" : ["https://image.tmdb.org/t/p/original/3CrNPUulPGbsJIH2ZnLYomGIVrk.jpg"], 
      "landscape" : ["http://assets.fanart.tv/fanart/movies/584/moviethumb/2-fast-2-furious-51ab110bb72f4.jpg"], 
      "actors" : { 
       "Mark Boone Junior" : "https://image.tmdb.org/t/p/w185/nNVvaTLa8A5uwLXQvCsKoX4npwo.jpg", 
       "Amaury Nolasco" : "https://image.tmdb.org/t/p/w185/tFH2iQmCIARuPJwjqcw7STwLeEr.jpg", 
       "Edward Finlay" : "https://image.tmdb.org/t/p/w185/cHgCOdSLSvjYiKwhycwCH5X4Viu.jpg", 
       "Cole Hauser" : "https://image.tmdb.org/t/p/w185/2izzcOrZpt22ObHjSNq3qRhrGHu.jpg", 
       "Ludacris" : "https://image.tmdb.org/t/p/w185/xLfq9wFO6dtYuUK96hbJ8I8EKFw.jpg", 
       "Jin Auyeung" : "https://image.tmdb.org/t/p/w185/kQIGxSJSAcc3zK37zRCGuhxdNmL.jpg", 
       "James Remar" : "https://image.tmdb.org/t/p/w185/AeSuQlBclvWqztlpkf9nIhvvhsc.jpg", 
       "Devon Aoki" : "https://image.tmdb.org/t/p/w185/mytZpvb5lykocoOCDelFy8Eqezm.jpg", 
       "Eric Etebari" : "https://image.tmdb.org/t/p/w185/bNjZk4EPaItye1szWPkse08TSJZ.jpg", 
       "Paul Walker" : "https://image.tmdb.org/t/p/w185/iqvYezRoEY5k8wnlfHriHQfl5dX.jpg", 
       "Mo Gallini" : "https://image.tmdb.org/t/p/w185/fkc5N30a7ZvZkCJEnnqh24uQwDN.jpg", 
       "Eva Mendes" : "https://image.tmdb.org/t/p/w185/6JoVMpn0CcZwb6JK7XW2E6ntU52.jpg", 
       "Tyrese Gibson" : "https://image.tmdb.org/t/p/w185/8AaJIsIb7yJcfwcgbD7qsT6ameq.jpg", 
       "Thom Barry" : "https://image.tmdb.org/t/p/w185/AhUa78UoZ5oGk5kWiatnDaPxSnO.jpg", 
       "Michael Ealy" : "https://image.tmdb.org/t/p/w185/oqzMgyxyZUjE8kTpjHhQ6YlMPov.jpg" 
      }, 
      "backdrop_original" : ["http://assets.fanart.tv/fanart/movies/584/moviebackground/2-fast-2-furious-50472dee97d56.jpg", "https://image.tmdb.org/t/p/original/8RkLHFm2PK4PO5W0WZA5LMXLZBz.jpg"], 
      "clear_art" : ["http://assets.fanart.tv/fanart/movies/584/movieart/2-fast-2-furious-505432e6599e6.png"], 
      "logo" : ["http://assets.fanart.tv/fanart/movies/584/movielogo/2-fast-2-furious-4fb3fa6854a36.png"], 
      "banner" : ["http://assets.fanart.tv/fanart/movies/584/moviebanner/2-fast-2-furious-51ab1119963b1.jpg"], 
      "backdrop" : ["https://image.tmdb.org/t/p/w1280/8RkLHFm2PK4PO5W0WZA5LMXLZBz.jpg"], 
      "extra_fanart" : ["http://assets.fanart.tv/fanart/movies/584/moviebackground/2-fast-2-furious-50472e91d86ce.jpg", "http://assets.fanart.tv/fanart/movies/584/moviebackground/2-fast-2-furious-504ea84f0d19d.jpg", "http://assets.fanart.tv/fanart/movies/584/moviebackground/2-fast-2-furious-504ea84f0db42.jpg", "http://assets.fanart.tv/fanart/movies/584/moviebackground/2-fast-2-furious-5057078be2e3f.jpg"] 
     }, 
     "actors" : ["Paul Walker", "Tyrese Gibson", "Eva Mendes", "Cole Hauser"], 
     "writers" : ["Gary Scott Thompson (characters)", "Michael Brandt (story)", "Derek Haas (story)", "Gary Scott Thompson (story)", "Michael Brandt (screenplay)", "Derek Haas (screenplay)"], 
     "runtime" : 107, 
     "type" : "movie", 
     "released" : "2003-06-02" 
    }, 
    "_t" : "media", 
    "releases" : [{ 
      "status" : "done", 
      "files" : { 
       "movie" : ["/volume1/video/2 Fast 2 Furious (2003).mkv"] 
      }, 
      "_id" : "fbb7d7f6fb71458886edd115d58c3b96", 
      "media_id" : "e9376ee00c85449ba776be784da40552", 
      "_rev" : "000254f4", 
      "_t" : "release", 
      "is_3d" : false, 
      "last_edit" : 1404427546, 
      "identifier" : "tt0322259.AAC.dvdrip", 
      "quality" : "dvdrip" 
     } 
    ], 
    "title" : "2 Fast 2 Furious", 
    "_rev" : "00045be8", 
    "profile_id" : null, 
    "_id" : "e9376ee00c85449ba776be784da40552", 
    "category_id" : null, 
    "type" : "movie", 
    "files" : { 
     "image_poster" : ["/usr/local/couchpotato/var/cache/47c2f59d078bc8179ee52dd882a352ca.jpg"] 
    }, 
    "identifiers" : { 
     "imdb" : "tt0322259" 
    } 
} 

Что я сделал до сих пор:

String json = download(url); 

    try { 
     JSONObject result = new JSONObject(json); 
     JSONArray results = result.getJSONArray("movies"); 

     for(int i = 0; i < results.length(); i++) 
     { 
      JSONObject movieObject = results.getJSONObject(i); 
      CouchPotatoMovie movie = new CouchPotatoMovie(movieObject); 
      movies.add(movie); 
     } 

Так изображения должны быть в объекте CouchPotatoMovie. Но я не уверен, как их вытащить.

+0

Вы можете быть более точным, какие образы вы хотите найти? – Pshemo

+0

Я хочу получить URL-адреса с плаката, extra_thimbs, poster_original и landscape. Но я не уверен, как их получить – Timmeeh93

+0

@ Timmeeh93 '> result.getJSONArray (" movies ")'. В JSON, который вы опубликовали, нет никаких ключей с именем ** movies **. – fardjad

ответ

0

Создать JSONObject из строки JSON:

JSONObject jsonObject = new JSONObject(jsonString); 

и использовать getJSONObject() метод:

JSONObject imagesJsonObject = jsonObject.getJSONObject("info").getJSONObject("images"); 

Затем, вы можете получить ключи с помощью keys() и использовать getJSONArray() и getString() методы, чтобы получить URL изображения.


Пример:

Чтобы получить URL-адреса из poster:

JSONArray posterJsonArray = imagesJsonObject.getJSONArray("poster"); 
List<String> urls = new ArrayList<String>(); 
for (int i = 0; i < posterJsonArray.length(); i++) { 
    String url = posterJsonArray.getString(i); 
    urls.add(url); 
} 
+0

@Pshhemo, жаль, что я новый для stackoverflow, поэтому я не совсем уверен, как его использовать. Но я редактировал мой пост выше. – Timmeeh93

+0

Спасибо большое! :) – Timmeeh93

Смежные вопросы