Я использую Retrofit, и я хочу получить доступ к ответу JSON, который возвращается с сервера. Может кто-нибудь, пожалуйста, посоветуйте мне. СпасибоМодернизация Как отпечатать ответ JSON
ответ
, если вы хотите видеть только ответы для целей отладки, просто включите отладку в модификации и посмотрите журнал. Это что-то вроде:
restAdapter.setDebuggingEnabled(true);
Если вам нужен доступ к прямой реакции в коде все время, вы должны делать это на уровне HTTPClient, как это в основном минуя цель модернизации
Чтобы напечатать объект ответа сначала меняет тип объекта обратного вызова на общий тип объекта через Callback<Object> cb
. Затем в своем обратном вызове вы можете просто зарегистрировать объект для печати форматированной версии Json на консоли.
@Override
public void success(Object o, Response response) {
Log.i("Tag", "Login data " + o.toString());
}
Чтобы напечатать объект запроса вы можете использовать любой Json библиотеки вы используете (здесь я использую Gson) сериализовать объект запроса к Json и войти, что консоль.
Log.i("Tag", "Request data " + new Gson().toJson(requestObject));
Я получаю эту ошибку, поэтому она никогда не попадает в функцию успеха и не переходит в неисправную функцию. Есть предположения? com.google.gson.JsonSyntaxException: java.lang.IllegalStateException: ожидается BEGIN_OBJECT, но BEGIN_ARRAY –
Попробуйте использовать список объектов вместо – MrEngineer13
Я пробовал, но все равно получаю сообщение об ошибке. См. Этот вопрос: http://stackoverflow.com/questions/25817604/retrofit-convert-array-of-objects-to-gson-error/25819168#25819168 –
Вам нужно получить ответ в строчном формате, а затем проанализировать данные с помощью gson. Чтобы получить ответ со строкой, вы можете использовать CustomStringConverter, расширив преобразователь retrofit.converter.Converter или просто получив входной поток от ответа на результат успеха.
public void success(Response r1, Response r2) {
IntputStream in = r1.getBody().in()
//convert this inputstream to string
}
Если вы хотите использовать полную мощность модернизированного и сохранить необработанный ввод для себя (например, чтобы сохранить его в упорном кэше), вы можете расширить конвертер, например,
RestAdapter restAdapter = new RestAdapter.Builder()
.setConverter(new GsonConverter(gson) {
@Override
public Object fromBody(TypedInput body, Type type) throws ConversionException {
try {
byte[] buffer = new byte[body.length()];
body.in().read(buffer);
body.in().reset();
}
catch (IOException e) {
throw new ConversionException(e);
}
return super.fromBody(body, type);
}
})
...build();
ResponseInterface ri = restAdapter.create(ResponseInterface.class);
Вы также можете войти результат, как этот
mRestAdapter = new RestAdapter.Builder()
.setEndpoint(getBaseUrl())
.setLogLevel(RestAdapter.LogLevel.FULL) //Log the result
.build();
- 1. Python Отпечатать все от json
- 2. Отпечатать ответ метода Dbus Вызов в C
- 3. Как отпечатать данные json в clojure?
- 4. Модернизация. Получите ответ, если (! Response.isSucessful())
- 5. Как отпечатать маринованный объект
- 6. Модернизация - Как преобразовать ответ в HashMap?
- 7. Модернизация синтаксиса Динамические клавиши JSON
- 8. Отпечатать ответ службы SOS с использованием открытых слоев
- 9. Модернизация, изменение объекта json на верхнем уровне?
- 10. Модернизация POST-запроса со сложным JSON
- 11. Как отпечатать динамический URL-адрес?
- 12. Отпечатать код javascript пользователю
- 13. Модернизация: как разобрать ответ GZIP'd без Content-Encoding: gzip header
- 14. Отпечатать раздел html5 canvas
- 15. Модернизация, как разобрать объекты JSON с переменными ключами
- 16. Загрузите локально сохраненный файл JSON - Модернизация
- 17. Как отформатировать ответ JSON?
- 18. Как создать ответ json
- 19. Как кэшировать ответ JSON?
- 20. Как разобрать ответ JSON
- 21. как агрегировать ответ json?
- 22. Как получить ответ Json
- 23. Как разобрать ответ json?
- 24. Как разобрать ответ JSON
- 25. Как читать ответ json
- 26. Как определить ответ JSON?
- 27. Как перебрать ответ JSON
- 28. Модернизация Wampserver
- 29. Модернизация не может получить json (android)
- 30. Модернизация Android JSON Анализ с помощью RecyclerView
Это то, что я искал. Я обновил фрагмент кода, чтобы использовать надлежащие методы для выхода из системы «Дооснащение». Все ваши ответы правильные, так что спасибо всем. –