Разобрать ключ JSON, который является объектом или массивом объекта

Можно ли в Moshi создать адаптер типа, который бы анализировал как объект, так и список объектов одного типа?

Например, иногда JSON это:

{
  "person": {...}
}

В других случаях это:

{
  "person": [{...}, {...}]
}

В идеале я бы хотел, чтобы объект Java выглядел так:

class PersonContainer {
  @PersonsList List<Person> persons; // @List(Person.class) would be even better
}

1 ответ

Я бы посоветовал вам сделать именно то, что вы сказали, адаптер.
создайте функцию (адаптер), чтобы проверить, является ли он единственным объектом или массивом, вероятно, на основе символа '[', и адаптер направит ввод в правильную функцию обработки.

Другой способ - предположить, что все входные данные являются массивами и работают оттуда.

Другие вопросы по тегам