这是我所拥有的JSON例子:
filter : [
{ category: [] } ,
{ sub-category: [] } ,
{ brand: [] } ,
{ color: [] }
]
请注意,标签"category,subcategory..."可能会动态变化。
我如何使用Moshi解析这个JSON?
将其解码为一个 Map<String, Object>
对象。该 Map 对象的键将是您 JSON 的值。您可以像这样获取该适配器:
Type map = Types.newParameterizedType(Map.class, String.class, Object.class);
JsonAdapter<Map<String, Object>> adapter = moshi.adapter(map);
在 Kotlin 中,将 JSON 转换为 Map<String, Object>:
val moshi = Moshi.Builder().build()
val adapter = moshi.adapter<Map<String, Any>>(
Types.newParameterizedType(Map::class.java, String::class.java,
Object::class.java)
)
val yourMap = adapter.fromJson(jsonFile)