Я работаю с Retrofit и Gson Converter, но получаю это странное исключение. Для выполнения вызова я использую два URL-адреса. В обоих случаях я делаю тот же вызов и получаю тот же ответ на уровне полного журнала, но один из URL-адресов дает мне это исключение, и я не могу разобрать данные во втором случае.ConversionException with Retrofit и Gson
Использование Retrofit v1.9 и Gson v2.6.1.
Спасибо!
Ошибка:
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 с сервера:
{
"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"
}
Убедитесь, что вы создали два РАЗРЯДА для декодирования выше JSON –
Это хорошо вы включили ошибку, но у вас есть действительный JSON, так что проблема код, который вы не показали. Пожалуйста, отредактируйте ваш вопрос –