JsonDeserializer не может десериализовать объект - PullRequest
0 голосов
/ 12 мая 2011

Я начал тестировать приложение на Honeycomb и получаю следующее сообщение об ошибке:

com.google.gson.JsonParseException: The JsonDeserializer com.google.gson.DefaultTypeAdapters$CollectionTypeAdapter@408424f0 failed to deserialized json object
[{"type":"location","id":1,"name":"Manukau Heights","description":null,"children":[]},{"type":"location","id":2,"name":"Manukau Central","description":null,"children":[]},{"type":"location","id":3,"name":"Manukau City","description":null,"children":[]},{"type":"location","id":4,"name":"Redoubt North","description":null,"children":[]},{"type":"location","id":5,"name":"Redoubt South","description":null,"children":[]},{"type":"location","id":6,"name":"Goodwood Heights","description":null,"children":[]},{"type":"location","id":7,"name":"Totara Heights","description":null,"children":[]},{"type":"location","id":8,"name":"Totara Park","description":null,"children":[]}]
given the type com.google.gson.ParameterizedTypeImpl@8a7527

при использовании Gson и fromJson

MyLocation[] locations = gson.fromJson(in, MyLocation[].class);

MyLocation выглядит так:

private String name = "";
private String type = "";
private String id;
private List<MyLocation> children = new ArrayList<MyLocation>();
private String description = "";

Основная проблема, с которой я столкнулся, заключается в том, что это прекрасно работает на многих устройствах до Honeycomb. Я пробовал со следующим: Нексус 1 2.3.4, HTC Hero 2.1 обновление 1, Dell Venue 2.2.2, Dell Streak 7 "2.2.2, Garmin Asus 2.1 обновление 1

и я не вижу исключений (и данные импортируются на вид идеально).

Может кто-нибудь дать совет, что может отличаться и как я могу справиться с этим?

(у меня была похожая проблема с разбором XML по-разному, но мне удалось обойти эту проблему при переходе на Honeycomb)

С уважением, Julius.

1 Ответ

1 голос
/ 22 мая 2011

Я переключился на использование Джексона, и эта проблема исчезла.Так что это не объясняет исходную проблему, но, похоже, работает.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...