GSON fails to parse data when it normally always works

Issue #29 resolved
Will Lunniss repo owner created an issue

"java.lang.RuntimeException: An error occured while executing doInBackground() at android.os.AsyncTask$3.done(AsyncTask.java:200) at java.util.concurrent.FutureTask$Sync.innerSetException(FutureTask.java:274) at java.util.concurrent.FutureTask.setException(FutureTask.java:125) at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:308) at java.util.concurrent.FutureTask.run(FutureTask.java:138) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1088) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:581) at java.lang.Thread.run(Thread.java:1027) Caused by: com.google.gson.JsonParseException: The JsonDeserializer com.google.gson.DefaultTypeAdapters$CollectionTypeAdapter@40570258 failed to deserialized json object [{""name"":""1"",""value"":""Generic DLNA profile""},{""name"":""6"",""value"":""DirecTV HD-DVR""},{""name"":""8"",""value"":""LG TV / player""},{""name"":""15"",""value"":""LaCie LaCinema Media Player""},{""name"":""16"",""value"":""Manta WIFI Centre""},{""name"":""12"",""value"":""Panasonic Viera""},{""name"":""20"",""value"":""Philips""},{""name"":""4"",""value"":""Playstation 3""},{""name"":""17"",""value"":""Pure Flow""},{""name"":""5"",""value"":""Samsung TV (A-series)""},{""name"":""2"",""value"":""Samsung TV (B-series)""},{""name"":""7"",""value"":""Samsung TV / player (C/D-series)""},{""name"":""18"",""value"":""Sharp Aquos""},{""name"":""10"",""value"":""Sony BD Player / SMP""},{""name"":""21"",""value"":""Sony Bravia TV (2009)""},{""name"":""19"",""value"":""Sony Bravia TV (2010)""},{""name"":""9"",""value"":""Sony Bravia TV (2011)""},{""name"":""13"",""value"":""Toshiba REGZA""},{""name"":""14"",""value"":""WDTV Live""},{""name"":""3"",""value"":""Xbox 360""}] given the type com.google.gson.ParameterizedTypeImpl@5e59a7 at com.google.gson.JsonDeserializerExceptionWrapper.deserialize(JsonDeserializerExceptionWrapper.java:63) at com.google.gson.JsonDeserializationVisitor.invokeCustomDeserializer(JsonDeserializationVisitor.java:88) at com.google.gson.JsonObjectDeserializationVisitor.visitFieldUsingCustomHandler(JsonObjectDeserializationVisitor.java:116) at com.google.gson.ObjectNavigator.navigateClassFields(ObjectNavigator.java:159) at com.google.gson.ObjectNavigator.accept(ObjectNavigator.java:131) at com.google.gson.JsonDeserializationContextDefault.fromJsonObject(JsonDeserializationContextDefault.java:73) at com.google.gson.JsonDeserializationContextDefault.deserialize(JsonDeserializationContextDefault.java:51) at com.google.gson.Gson.fromJson(Gson.java:568) at com.google.gson.Gson.fromJson(Gson.java:515) at com.google.gson.Gson.fromJson(Gson.java:484) at com.google.gson.Gson.fromJson(Gson.java:434) at com.google.gson.Gson.fromJson(Gson.java:406) at com.serviiodroid.server.api.json.JSONParser.parseRefdata(JSONParser.java:26) at com.serviiodroid.server.ServiioServer.fetchProfiles(ServiioServer.java:334) at com.serviiodroid.server.ServiioServer.fetchRefdata(ServiioServer.java:374) at com.serviiodroid.ServiioDroid$LoadDataTask.doInBackground(ServiioDroid.java:1292) at com.serviiodroid.ServiioDroid$LoadDataTask.doInBackground(ServiioDroid.java:1) at android.os.AsyncTask$2.call(AsyncTask.java:185) at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:306) ... 4 more Caused by: java.lang.RuntimeException: No-args constructor for class com.serviiodroid.server.api.json.RefdataResponse$Refdata does not exist. Register an InstanceCreator with Gson for this type to fix this problem. at com.google.gson.MappedObjectConstructor.constructWithNoArgConstructor(MappedObjectConstructor.java:64) at com.google.gson.MappedObjectConstructor.construct(MappedObjectConstructor.java:53) at com.google.gson.JsonObjectDeserializationVisitor.constructTarget(JsonObjectDeserializationVisitor.java:40) at com.google.gson.JsonDeserializationVisitor.getTarget(JsonDeserializationVisitor.java:56) at com.google.gson.ObjectNavigator.accept(ObjectNavigator.java:109) at com.google.gson.JsonDeserializationContextDefault.fromJsonObject(JsonDeserializationContextDefault.java:73) at com.google.gson.JsonDeserializationContextDefault.deserialize(JsonDeserializationContextDefault.java:51) at com.google.gson.DefaultTypeAdapters$CollectionTypeAdapter.deserialize(DefaultTypeAdapters.java:548) at com.google.gson.DefaultTypeAdapters$CollectionTypeAdapter.deserialize(DefaultTypeAdapters.java:1) at com.google.gson.JsonDeserializerExceptionWrapper.deserialize(JsonDeserializerExceptionWrapper.java:50) ... 22 more com.google.gson.JsonParseException: The JsonDeserializer com.google.gson.DefaultTypeAdapters$CollectionTypeAdapter@40570258 failed to deserialized json object [{""name"":""1"",""value"":""Generic DLNA profile""},{""name"":""6"",""value"":""DirecTV HD-DVR""},{""name"":""8"",""value"":""LG TV / player""},{""name"":""15"",""value"":""LaCie LaCinema Media Player""},{""name"":""16"",""value"":""Manta WIFI Centre""},{""name"":""12"",""value"":""Panasonic Viera""},{""name"":""20"",""value"":""Philips""},{""name"":""4"",""value"":""Playstation 3""},{""name"":""17"",""value"":""Pure Flow""},{""name"":""5"",""value"":""Samsung TV (A-series)""},{""name"":""2"",""value"":""Samsung TV (B-series)""},{""name"":""7"",""value"":""Samsung TV / player (C/D-series)""},{""name"":""18"",""value"":""Sharp Aquos""},{""name"":""10"",""value"":""Sony BD Player / SMP""},{""name"":""21"",""value"":""Sony Bravia TV (2009)""},{""name"":""19"",""value"":""Sony Bravia TV (2010)""},{""name"":""9"",""value"":""Sony Bravia TV (2011)""},{""name"":""13"",""value"":""Toshiba REGZA""},{""name"":""14"",""value"":""WDTV Live""},{""name"":""3"",""value"":""Xbox 360""}] given the type com.google.gson.ParameterizedTypeImpl@5e59a7 at com.google.gson.JsonDeserializerExceptionWrapper.deserialize(JsonDeserializerExceptionWrapper.java:63) at com.google.gson.JsonDeserializationVisitor.invokeCustomDeserializer(JsonDeserializationVisitor.java:88) at com.google.gson.JsonObjectDeserializationVisitor.visitFieldUsingCustomHandler(JsonObjectDeserializationVisitor.java:116) at com.google.gson.ObjectNavigator.navigateClassFields(ObjectNavigator.java:159) at com.google.gson.ObjectNavigator.accept(ObjectNavigator.java:131) at com.google.gson.JsonDeserializationContextDefault.fromJsonObject(JsonDeserializationContextDefault.java:73) at com.google.gson.JsonDeserializationContextDefault.deserialize(JsonDeserializationContextDefault.java:51) at com.google.gson.Gson.fromJson(Gson.java:568) at com.google.gson.Gson.fromJson(Gson.java:515) at com.google.gson.Gson.fromJson(Gson.java:484) at com.google.gson.Gson.fromJson(Gson.java:434) at com.google.gson.Gson.fromJson(Gson.java:406) at com.serviiodroid.server.api.json.JSONParser.parseRefdata(JSONParser.java:26) at com.serviiodroid.server.ServiioServer.fetchProfiles(ServiioServer.java:334) at com.serviiodroid.server.ServiioServer.fetchRefdata(ServiioServer.java:374) at com.serviiodroid.ServiioDroid$LoadDataTask.doInBackground(ServiioDroid.java:1292) at com.serviiodroid.ServiioDroid$LoadDataTask.doInBackground(ServiioDroid.java:1) at android.os.AsyncTask$2.call(AsyncTask.java:185) at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:306) at java.util.concurrent.FutureTask.run(FutureTask.java:138) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1088) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:581) at java.lang.Thread.run(Thread.java:1027) Caused by: java.lang.RuntimeException: No-args constructor for class com.serviiodroid.server.api.json.RefdataResponse$Refdata does not exist. Register an InstanceCreator with Gson for this type to fix this problem. at com.google.gson.MappedObjectConstructor.constructWithNoArgConstructor(MappedObjectConstructor.java:64) at com.google.gson.MappedObjectConstructor.construct(MappedObjectConstructor.java:53) at com.google.gson.JsonObjectDeserializationVisitor.constructTarget(JsonObjectDeserializationVisitor.java:40) at com.google.gson.JsonDeserializationVisitor.getTarget(JsonDeserializationVisitor.java:56) at com.google.gson.ObjectNavigator.accept(ObjectNavigator.java:109) at com.google.gson.JsonDeserializationContextDefault.fromJsonObject(JsonDeserializationContextDefault.java:73) at com.google.gson.JsonDeserializationContextDefault.deserialize(JsonDeserializationContextDefault.java:51) at com.google.gson.DefaultTypeAdapters$CollectionTypeAdapter.deserialize(DefaultTypeAdapters.java:548) at com.google.gson.DefaultTypeAdapters$CollectionTypeAdapter.deserialize(DefaultTypeAdapters.java:1) at com.google.gson.JsonDeserializerExceptionWrapper.deserialize(JsonDeserializerExceptionWrapper.java:50) ... 22 more java.lang.RuntimeException: No-args constructor for class com.serviiodroid.server.api.json.RefdataResponse$Refdata does not exist. Register an InstanceCreator with Gson for this type to fix this problem. at com.google.gson.MappedObjectConstructor.constructWithNoArgConstructor(MappedObjectConstructor.java:64) at com.google.gson.MappedObjectConstructor.construct(MappedObjectConstructor.java:53) at com.google.gson.JsonObjectDeserializationVisitor.constructTarget(JsonObjectDeserializationVisitor.java:40) at com.google.gson.JsonDeserializationVisitor.getTarget(JsonDeserializationVisitor.java:56) at com.google.gson.ObjectNavigator.accept(ObjectNavigator.java:109) at com.google.gson.JsonDeserializationContextDefault.fromJsonObject(JsonDeserializationContextDefault.java:73) at com.google.gson.JsonDeserializationContextDefault.deserialize(JsonDeserializationContextDefault.java:51) at com.google.gson.DefaultTypeAdapters$CollectionTypeAdapter.deserialize(DefaultTypeAdapters.java:548) at com.google.gson.DefaultTypeAdapters$CollectionTypeAdapter.deserialize(DefaultTypeAdapters.java:1) at com.google.gson.JsonDeserializerExceptionWrapper.deserialize(JsonDeserializerExceptionWrapper.java:50) at com.google.gson.JsonDeserializationVisitor.invokeCustomDeserializer(JsonDeserializationVisitor.java:88) at com.google.gson.JsonObjectDeserializationVisitor.visitFieldUsingCustomHandler(JsonObjectDeserializationVisitor.java:116) at com.google.gson.ObjectNavigator.navigateClassFields(ObjectNavigator.java:159) at com.google.gson.ObjectNavigator.accept(ObjectNavigator.java:131) at com.google.gson.JsonDeserializationContextDefault.fromJsonObject(JsonDeserializationContextDefault.java:73) at com.google.gson.JsonDeserializationContextDefault.deserialize(JsonDeserializationContextDefault.java:51) at com.google.gson.Gson.fromJson(Gson.java:568) at com.google.gson.Gson.fromJson(Gson.java:515) at com.google.gson.Gson.fromJson(Gson.java:484) at com.google.gson.Gson.fromJson(Gson.java:434) at com.google.gson.Gson.fromJson(Gson.java:406) at com.serviiodroid.server.api.json.JSONParser.parseRefdata(JSONParser.java:26) at com.serviiodroid.server.ServiioServer.fetchProfiles(ServiioServer.java:334) at com.serviiodroid.server.ServiioServer.fetchRefdata(ServiioServer.java:374) at com.serviiodroid.ServiioDroid$LoadDataTask.doInBackground(ServiioDroid.java:1292) at com.serviiodroid.ServiioDroid$LoadDataTask.doInBackground(ServiioDroid.java:1) at android.os.AsyncTask$2.call(AsyncTask.java:185) at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:306) at java.util.concurrent.FutureTask.run(FutureTask.java:138) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1088) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:581) at java.lang.Thread.run(Thread.java:1027) "

Comments (4)

  1. Log in to comment