Как проверить наличие определенного ключа в ответе JSON с помощью Retrofit Library

Я получаю некоторые значения JSON с сервера, но я не знаю, будет ли определенное поле или нет. Мне нужно проверить на основе ключа.

Один тип ответа

Другой тип ответа

В AysncTask мы можем использовать функцию has, но в Retrofit я не могу найти решение.

Предоставь мне решение

2 ответа

Retrofit проанализирует все атрибуты, которые вы указали в вашей модели. Если какой-либо атрибут в вашем JSON не существует, Retrofit установит NULL в качестве значения этого атрибута.

Зная эту функцию, единственное, что вам нужно сделать, это что-то вроде:

if(myObject.getReviewerDetails() == null)  
 // do something

Удачного кода!

Вы можете проверить наличие ключа или не использовать jsonObject.has, например, следующим образом,

      JSONObject jsonObject=new JSONObject();
        if(jsonObject.has("reviewer_details")){
          //do process with data
        }
Другие вопросы по тегам