Моделирование данных JSON с неуверенным элементом - PullRequest
0 голосов
/ 04 марта 2019

enter image description here

Предположим, у меня есть ответ json (см. Изображение) с элементом "meta_data".Особенность этого списка метаданных в том, что он может существовать или не существовать, в зависимости от того, есть ли у него дочерние элементы.Не только это, если у него есть только один дочерний элемент, тогда он будет показан как объект (ключ-значение), а не как список.Итак, как я могу смоделировать этот элемент в моем классе модели, чтобы мое приложение не зависало с ошибками типа «Ожидается строка, но в строке 1 столбца 4864 путь $ [0] .meta_data [0] .value» был столбец BEGIN_OBJECT.Ниже приведен фрагмент моего модельного класса:

public class ProductModel {

    private List<MetaDatum> meta_data = null;


    public List<MetaDatum> getMetaData() {
        return meta_data;
    }

    public void setMetaData(List<MetaDatum> meta_data) {
        this.meta_data = meta_data;
    }

          // further more elements

    }

1 Ответ

0 голосов
/ 04 марта 2019

Вы можете использовать следующий код

 public class ProductModel {

        private Object meta_data = null;
        ...
    }

и привести его на основе ответа, который вы получили, используя ключевое слово instanceof , например,

if(response instanceof List){
   //iterate list.
}
if(response instanceof Object){
  //use object.
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...