Невозможно получить строку JSON в ответ на Retrofit 2.0 Android

android retrofit retrofit2

1262 просмотра

1 ответ

Это не повторяющийся вопрос. Я использую Retrofit 2.0 и JSON для сетевых задач. Также я не использую GSON для анализа json, вместо этого я использую простые JsonObject и JsonArray для получения объектов модели из строки json. Во-первых, подскажите, какой модифицированный конвертер необходимо использовать для описанного выше сценария.

Во-вторых, я не могу получить строку json в качестве строки ответа.

Я попробовал два подхода - Подход 1 - Я использовал Call . В этом случае response.body () возвращает ноль, хотя код состояния равен 200.

Подход 2 - я использовал Call . В этом случае методы call.enqueue вызывают «метод сбоя» вместо «onSuccess», а тело ответа равно нулю. Код состояния в этом случае также равен 200.

Пожалуйста, предложите, как получить строку json в ответ на модификацию 2.0.

Автор: sumit soni Источник Размещён: 08.11.2019 11:17

Ответы (1)


4 плюса

Решение

вам нужно использовать JsonObjectвместо Voidили ResponseBody. Ваш код должен быть

Call<JsonObject> getCall = request.getDataCall();
getCall.enqueue(new Callback<JsonObject>() {
    @Override
    public void onResponse(Call<JsonObject> call, Response<JsonObject> response) {

    }

    @Override
    public void onFailure(Call<JsonObject> call, Throwable t) {

    }
});

Примечание : убедитесь, что вы используетеcom.google.gson.JsonObject

Автор: Ravi Rupareliya Размещён: 20.08.2016 12:18
Вопросы из категории :
32x32