如何使用 Moshi 解析未知密钥 json

How to parse unknown key jsons using Moshi

这是JSON我有

的例子
filter : [

    { category: [] } ,

    { sub-category: [] } ,

    { brand: [] } ,

    { color: [] } 
   ]

请注意,标签 "category,subcategory..." 可能会动态变化

如何使用 Moshi 解析此 JSON?

将其解码为 Map<String, Object>。映射键将是您 JSON 的值。您可以像这样获得该适配器:

Type map = Types.newParameterizedType(Map.class, String.class, Object.class);
JsonAdapter<Map<String, Object>> adapter = moshi.adapter(map);

在 kotlin 中,Map 来自 json:

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)