解析对象或对象数组的JSON键

fhu*_*cho 5 java json moshi

在Moshi中,是否可以创建一个类型适配器来解析对象或相同类型的对象列表?

例如,有时JSON是:

{
  "person": {...}
}
Run Code Online (Sandbox Code Playgroud)

其他时候是:

{
  "person": [{...}, {...}]
}
Run Code Online (Sandbox Code Playgroud)

理想情况下,我想要一个看起来像这样的Java对象:

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

小智 -2

我建议你按照你所说的做一个适配器。
创建一个函数(适配器)来检查它是单个对象还是数组,可能基于“[”字符,适配器会将输入引导到正确的处理函数中。

另一种方法是假设所有输入都是数组并从那里开始工作。