Я только начал андроид prograamming и нашел хороший учебник, используя imdb api. вместо использования xml в этом уроке я бы хотел использовать json и для получаемого json у меня проблема. это person.json:вложенный json синтаксический анализ для android с jackson
[
{
"score":1,
"popularity":3,
"name":"Brad Pitt",
"id":287,
"biography":"test",
"url":"http://www.themoviedb.org/person/287",
"profile":[
{
"image":{
"type":"profile",
"size":"thumb",
"height":68,
"width":45,
"url":"http://d3gtl9l2a4fn1j.cloudfront.net/t/p/w45/w8zJQuN7tzlm6FY9mfGKihxp3Cb.jpg",
"id":"4ea5cb8c2c0588394800006f"
}
},
{
"image":{
"type":"profile",
"size":"profile",
"height":281,
"width":185,
"url":"http://d3gtl9l2a4fn1j.cloudfront.net/t/p/w185/w8zJQuN7tzlm6FY9mfGKihxp3Cb.jpg",
"id":"4ea5cb8c2c0588394800006f"
}
},
{
"image":{
"type":"profile",
"size":"h632",
"height":632,
"width":416,
"url":"http://d3gtl9l2a4fn1j.cloudfront.net/t/p/h632/w8zJQuN7tzlm6FY9mfGKihxp3Cb.jpg",
"id":"4ea5cb8c2c0588394800006f"
}
},
{
"image":{
"type":"profile",
"size":"original",
"height":1969,
"width":1295,
"url":"http://d3gtl9l2a4fn1j.cloudfront.net/t/p/original/w8zJQuN7tzlm6FY9mfGKihxp3Cb.jpg",
"id":"4ea5cb8c2c0588394800006f"
}
}
],
"version":685,
"last_modified_at":"2013-02-16 07:11:15 UTC"
}
]
моих два объекта для них:
public class Person implements Serializable {
private static final long serialVersionUID = 6794898677027141412L;
public String score;
public String popularity;
public String name;
public String id;
public String biography;
public String url;
public String version;
public String lastModifiedAt;
public Profile profile;
}
public class Profile implements Serializable {
private static final long serialVersionUID = -8735669377345509929L;
public ArrayList<Image> imagesList;
}
public class Image implements Serializable {
private static final long serialVersionUID = -2428562977284114465L;
public String type;
public String url;
public String size;
public int width;
public int height;
}
я не мог понять, как получить список человека с помощью Джексона объекта картографа. , когда я использую этот один:
ObjectMapper mapper = new ObjectMapper();
Person person= mapper.readValue(jsonResponseString, Person.class);
я получил:
02-16 18: 34: 48.010: W/System.err (376): com.fasterxml.jackson.databind.JsonMappingException: Может не десериализовать экземпляр com.example.imdbsearcher.model.Person из токена START_ARRAY 02-16 18: 34: 48.180: W/System.err (376): at [Источник: [email protected]; строка: 1, столбец: 1] 02-16 18: 34: 48.554: W/System.err (376): at com.fasterxml.jackson.databind.DeserializationContext.mappingException (DeserializationContext.java:599) 02-16 18: 34: 48.830: W/System.err (376): at com.fasterxml.jackson.databind.DeserializationContext.mappingException (DeserializationContext.java:593)
Я изменил метод извлечения с помощью Keith и crdnilfan , , но теперь у меня проблема с атрибутом профиля.
Я понял, что мне не хватает этого объекта лично, и в основном я создал новый объект профиля и переместил imageList в этот класс.
Я обновил POJO, как указано выше.
, но теперь я получаю ту же ошибку для профиля.
Не может десериализацию экземпляра com.example.imdbsearcher.model.Profile из START_ARRAY лексем
Сообщение полной stacktrace пожалуйста. – nhaarman
Я добавил модифицированную версию класса к моему ответу –