2013-09-10 5 views
0

Я пытаюсь разобрать информацию о фильме JSON, предоставленную http://www.omdbapi.com (пример: http://www.omdbapi.com/?s=Lord%20Of%20the%20rings) с использованием JSON Simple lib, но я не добился успеха. Я продолжаю получать ошибку org.json.simple.JSONObject не может быть передан в org.json.simple.JSONArray.Parsing IMDB-API JSON

Имея взгляд на сайт и на отдых, я не могу понять, почему он не может разобрать информацию. Я использую стандартный пример, представленный ниже, без успеха. Любая помощь или альтернативная библиотека JSON, которая будет работать, будут оценены.

s будучи строку, я получаю с сайта:

JSONParser parser=new JSONParser(); 
Object obj = parser.parse(s); 
JSONArray array = (JSONArray)obj; 

ответ

1

JSON вы извлекаете из API является

{"Search":[{"Title":"The Lord of the Rings: The Fellowship of the Ring","Year":"2001","imdbID":"tt0120737","Type":"movie"},{"Title":"The Lord of the Rings: The Return of the King","Year":"2003","imdbID":"tt0167260","Type":"movie"},{"Title":"The Lord of the Rings: The Two Towers","Year":"2002","imdbID":"tt0167261","Type":"movie"},{"Title":"The Lord of the Rings","Year":"1978","imdbID":"tt0077869","Type":"movie"},{"Title":"The Lord of the Rings: The Two Towers","Year":"2002","imdbID":"tt0347436","Type":"game"},{"Title":"The Lord of the Rings: The Return of the King","Year":"2003","imdbID":"tt0387360","Type":"game"},{"Title":"The Lord of the Rings: The Battle for Middle-Earth","Year":"2004","imdbID":"tt0412935","Type":"game"},{"Title":"Lord of the Rings: Battle for Middle Earth II - Rise of the Witch King","Year":"2006","imdbID":"tt1058040","Type":"game"},{"Title":"The Lord of the Rings: The Battle for Middle-Earth II","Year":"2006","imdbID":"tt0760172","Type":"game"},{"Title":"The Lord of the Rings: The Third Age","Year":"2004","imdbID":"tt0415947","Type":"game"}]} 

Он начинается с {. Это объект JSON (JSONObject), а не массив (JSONArray).

Object obj = parser.parse(s); 

Object obj «s динамический тип будет JSONObject, который не может быть приведен к JSONArray.

Если вы хотите использовать внутренний массив, используйте один из методов get()JSONObject с ключом "Search".

+0

Aaa Я вижу ... как ... глупо от меня ... Спасибо – Griffin