我是Moshi的新手,正在寻找一种方法来设置带有匕首2的Moshi适配器,以根据JSON响应自动创建自定义对象或列表。
API可以返回以下两个响应之一:
[{
"item_type": "xyz",
"items": [{
"name": "foo",
"age": 22
},
{
"name": "bar",
"age": 32
}
]
}]
或
[{
"name": "foo",
"age": 22
},
{
"name": "bar",
"age": 32
}]
我查看了Moshi Determine if JSON is array or single object供参考,但在我的用例中,整个响应JSON对象具有不同的结构。另外,由于我正在使用dagger2进行依赖项注入,因此我不确定如何以及在何处添加适配器,因为我的Network模块(提供Moshi)是相当通用的,因此我不需要此自定义适配器用于其他API。
@Provides
@Singleton
fun provideMoshi(): Moshi = Moshi.Builder()
.add(Date::class.java, Rfc3339DateJsonAdapter().nullSafe())
.build()