GSON

2016-12-29 3 views
-7

복잡한 JSON 개체를 구문 분석 내가 JSON이 같은 OMDb에서 가져온이 : 그래서의 목록과 클래스 MovieContainer을 만들어 GSON

{ 
"Search": 
    [{"Title":"Seven Pounds", 
     "Year":"2008", 
     "imdbID":"tt0814314", 
     "Type":"movie", 
     "Poster":"someUrl"}, 
    {"Title":"Seven Samurai", 
     "Year":"1954", 
     "imdbID":"tt0047478", 
     "Type":"movie", 
     "Poster":"someUrl"} 
    ],"totalResults":"1048", 
    "Response":"True" 
} 

나는 모든 영화를 추출하여리스트에 저장하고 싶습니다

무비 : 문자열 집합을 포함합니다.

나는 jstring으로 위의 것과 같은 JSON 문자열을입니다
MovieContainer cnt=new Gson().fromJson(jstring, MovieContainer.class); 

을 사용하지만 컨테이너의 목록을 반복하려고 할 때 NullPointerException이 얻을.

저는 Gson의 초보자이므로 이유를 찾을 수 없으므로 Json을 어떻게 파싱해야합니까?

EDIT : NullPointerException이 무엇인지는 알지만 Java가 내 예제에서 왜 throw하는지 이해할 수 없습니다.

내 MovieContainer 클래스 :

public class MovieContainer { 
    public List<Movie> movies; 
} 

내 영화 클래스 :

public class Movie { 
    String Title; 
    String Year; 
    String Poster; 
    String imdbID; 
    String Type; 
} 

내가 fromJson 방법은 필드 이름과 일치하는 정보를 내 목록을 작성해야합니다 생각하지만 목록 영화 null로 포인트 .

+2

가능한 [NullPointerException이란 무엇이며 어떻게 수정합니까?] (http://stackoverflow.com/questions/218384/what-is-a-nullpointerexception-and-how-do-i-fix -it) –

+1

[mcve]를 포함하도록 질문을 편집하십시오. –

+0

JSON을 읽는 법을 배우십시오 (json.org). 가장 바깥 쪽 개체는 "검색"이라는 단일 요소가 포함 된 사전입니다. –

답변

0

제목을 먼저 검색하려면 반복하고 제목을 찾는 데 필요한 데이터 내에서 "검색"을 얻어야합니다.

귀하의 Gson에는 "검색", "총 결과"및 "응답"의 세 가지 요소가 포함되어 있기 때문입니다.