开发者

JsonDeserializer failing to deserialize object

I have started to test an application on Honeycomb and get the following error message:

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

when using Gson and fromJson

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

MyLocation looks like this:

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

The main concern I have is that this works perfectly on many devices pre Honeycomb. I have tried with the following: Nexus 1 2.3.4, HTC Hero 2.1 update 1, Dell Venue 2.2.2, Dell Streak 7" 2.2.2, Garmin Asus 2.1 update 1

and I see no Exceptions (and the data is imported seemingly perfectly).

Can anyone give advice what might be different and how I can manage it?

(I had a similar issue with XML being parsed differently but I managed a w开发者_如何转开发orkaround for this going to Honeycomb)

Regards, Julius.


I switched to using Jackson and this problem has gone away. So this doesn't explain the original issue, but seems to work.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜