如何使用Moshi

时间:2016-11-03 14:44:26

标签: java android retrofit moshi

这是我正在使用的JSON的例子

filter : [

    { category: [] } ,

    { sub-category: [] } ,

    { brand: [] } ,

    { color: [] } 
   ]

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

如何使用Moshi解析此JSON?

2 个答案:

答案 0 :(得分:11)

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

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

答案 1 :(得分:0)

在 kotlin 中,来自 json 的 Map

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)