java - 解析作为对象或对象数组的 JSON 键

标签 java json moshi

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

例如,有时JSON是:

{
  "person": {...}
}

其他时候是:

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

理想情况下,我希望有一个如下所示的 Java 对象:

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

最佳答案

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

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

关于java - 解析作为对象或对象数组的 JSON 键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40110184/

相关文章:

java - 在 RestAssured Response 中迭代并验证 Json 数组中的值

java - 如何禁用Android日期选择器中的某些特定日期?

android - 在服务器端或客户端处理 Null 值?

kotlin - okhttp3 moshi-JsonAdapter运行时问题

java - 将 OSGi 与 Java SPI 相结合

Java 状态模式具有不同的实现,导致难以理解的错误

java - 保存数据时级联不起作用

java - 如何从firebase :获取数据

java - 如何使用我的 Android 应用程序使用 JSON 将参数发送到远程服务器。代码如下

Android Kotlin 改造协程请求出现 moshi 错误