解析复杂的JSON对象与GSON
问题描述:
我有一个JSON从OMDb这样得到:解析复杂的JSON对象与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"
}
我想提取的每一部电影,并将其存储到一个列表,所以我创建了一个类MovieContainer与列表电影,其中包含一组字符串。
我用
MovieContainer cnt=new Gson().fromJson(jstring, MovieContainer.class);
其中的jstring是像上面的一个JSON字符串,但是当我试图遍历列表中的容器,我得到一个NullPointerException。
由于我是Gson的初学者,我无法找出原因,我应该如何解析Json?
编辑:我知道什么是NullPointerException,但我不明白为什么Java在我的示例中抛出它。
我MovieContainer类:
public class MovieContainer {
public List<Movie> movies;
}
我的电影类:
public class Movie {
String Title;
String Year;
String Poster;
String imdbID;
String Type;
}
我认为fromJson方法应填写我的列表匹配的字段名称的信息,但是名单的电影指向NULL 。
答
如果您想首先搜索标题,您需要在需要迭代和查找标题的数据中获得“搜索”。
因为你的Gson包含3个元素,“Search”,“totalResults”和“Response”。
可能重复[什么是NullPointerException,以及如何解决它?](http://*.com/questions/218384/what-is-a-nullpointerexception-and-how-doi-i-fix -it) –
请[编辑]你的问题,包括[mcve]。 –
学习阅读JSON(转到json.org)。最外层的对象是一个名为“Search”的单个元素的字典。 –