Я начал тестировать приложение на 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.