4

这是我拥有的 JSON 示例

filter : [

    { category: [] } ,

    { sub-category: [] } ,

    { brand: [] } ,

    { color: [] } 
   ]

请注意,标签“类别、子类别...”可能会动态变化

如何使用 Moshi 解析这个 JSON?

4

2 回答 2

19

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

Type map = Types.newParameterizedType(Map.class, String.class, Object.class);
JsonAdapter<Map<String, Object>> adapter = moshi.adapter(map);
于 2016-11-04T04:59:39.163 回答
0

在 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)
于 2021-06-14T05:24:35.200 回答