Ich arbeite mit Retrofit und Gson Converter, aber ich bekomme diese seltsame Ausnahme. Ich verwende zwei URLs, um den Anruf auszuführen. In beiden Fällen führe ich den gleichen Aufruf aus und erhalte die gleiche Antwort auf der Ebene der vollständigen Protokolle, aber eine der URLs gibt mir diese Ausnahme und ich kann die Daten im zweiten Fall nicht analysieren.ConversionException mit Retrofit und Gson
Verwenden von Retrofit v1.9 und Gson v2.6.1.
Danke!
Fehler:
E/UserCommunicator: retrofit.RetrofitError: com.google.gson.JsonSyntaxException: Expecting character, got:
retrofit.RetrofitError: com.google.gson.JsonSyntaxException: Expecting character, got:
at retrofit.RestAdapter$RestHandler.invokeRequest(RestAdapter.java:378)
at retrofit.RestAdapter$RestHandler.access$100(RestAdapter.java:220)
at retrofit.RestAdapter$RestHandler$2.obtainResponse(RestAdapter.java:278)
at retrofit.CallbackRunnable.run(CallbackRunnable.java:42)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588)
at retrofit.Platform$Android$2$1.run(Platform.java:142)
at java.lang.Thread.run(Thread.java:818)
Caused by: retrofit.converter.ConversionException: com.google.gson.JsonSyntaxException: Expecting character, got:
at retrofit.converter.GsonConverter.fromBody(GsonConverter.java:67)
at retrofit.RestAdapter$RestHandler.invokeRequest(RestAdapter.java:362)
... 7 more
Caused by: com.google.gson.JsonSyntaxException: Expecting character, got:
at com.google.gson.internal.bind.TypeAdapters$16.read(TypeAdapters.java:397)
at com.google.gson.internal.bind.TypeAdapters$16.read(TypeAdapters.java:388)
at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$1.read(ReflectiveTypeAdapterFactory.java:116)
at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:216)
at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$1.read(ReflectiveTypeAdapterFactory.java:116)
at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:216)
at com.google.gson.Gson.fromJson(Gson.java:879)
at com.google.gson.Gson.fromJson(Gson.java:844)
at retrofit.converter.GsonConverter.fromBody(GsonConverter.java:63)
... 8 more
E/LoginActivity: com.google.gson.JsonSyntaxException: Expecting character, got:
Json vom Server:
{
"user_data": {
"user_id": "4",
"gid": "",
"gname": "",
"gphoto": "",
"fid": "",
"fname": "",
"fphoto": "",
"name": "John",
"surname": "Doe",
"email": "[email protected]",
"birthday": null,
"registered": null,
"username": null,
"user_type": "a",
"rnd": "xxxxxxxxxxx",
"user_lang": "en",
"clinic_name": null,
"clinic_id": null,
"admin": null,
"state": null,
"gender": "",
"cel": "60000000"
},
"clinic_data": {
"clinic_name": "Doe",
"clinic_id": "2",
"plan": "plan",
"mod_finance": "0",
"mod_surgery": "0",
"mod_ortodoncy": "0",
"staff_type": "staff_type",
"admin": "0",
"state": "state",
"address": "address",
"latitude": "0.0",
"longitude": "0.0",
"cel": "",
"nr_licenses": null,
"expires": null
},
"response": "Success"
}
Stellen Sie sicher, zwei klassierten erstellt haben über json zu dekodieren –
Es ist schön, Sie den Fehler enthalten, aber Sie haben gültige JSON, so dass das Problem Ihr Code, die Sie haben nicht gezeigt. Bitte [bearbeiten] Sie Ihre Frage –