使用gson解析json

时间:2012-08-17 16:24:22

标签: json parsing gson

我有以下

 private List<Movie> movies;
...
 JsonReader reader = new JsonReader(new InputStreamReader(in)); 
 Gson gson = new Gson();                     
 SearchResponse response = gson.fromJson(reader, SearchResponse.class);
 movies = response.getResults();

response.getResults()抛出Null Pointer,但是响应它不为null是不是因为我不是在处理所有返回的字段?

电影课

@SerializedName("name") 
private String name;    
@SerializedName("sinopsis") 
private String sinopsis;

虽然来自单个电影的视频看起来像这些(不要介意西班牙语)

{"@uri":"http://localhost:8080/Feeds/resources/peliculas/1/",
"elenco":"Director: Alejandro González Iñarritu Reparto: Javier Bradem, Maricel   Alvarez,Martina García, Félix Cubero, Rubén Ochandiano Empresa Productora: Menageatroz, Focus Features, Mod Producciones, Televisión de Catalunya (TV3), Televisión Española (TVE), Universal Pictures.",
"estreno":"83",
"fecha":"2010-03-05T16:31:02-02:00",
"idPelicula":"1",
"imagen1":"10_49.jpg",
"imagen2":"10_50.jpg",
"imagen3":"10_51.jpg",
"imagen4":"10_52.jpg",
"imagen5":"10_53.jpg",
"imagen6":"''",
"imagenTapa":"BiutifulTapa.jpg",
"name":"Biutiful",
"sinopsis":"Biutiful es la última obra maestra de Alejandro González Iñárritu, el aclamado director de Amores Perros, 21 Gramos y Babel protagonizada por el premiado ganador del Oscar Javier Bardem. Padre abnegado. Amante atormentado. Hijo desamparado. Intermediario de la sombra. Próximo a los desaparecidos. Atraído por los fantasmas. Sensible a los espíritus. Sobreviviente en el corazón de una Barcelona invisible. Sintiendo que la muerte le ronda, intenta encontrar la paz, proteger a sus hijos, salvarse a sí mismo.",
"trailer":"biutiful.flv"}

非常感谢你 最好的问候。

1 个答案:

答案 0 :(得分:0)

搞定了!!!!!!!

            JsonReader reader = new JsonReader(new InputStreamReader(in)); 
            JsonParser parser = new JsonParser(); 
            Gson gson = new Gson();

            JsonElement rootElement = parser.parse(reader);
            SearchResponse response = gson.fromJson(rootElement, SearchResponse.class);
            results = response.getResults();