如何使用Moshi解析未知键的JSON

7

这是我所拥有的JSON例子:

filter : [

    { category: [] } ,

    { sub-category: [] } ,

    { brand: [] } ,

    { color: [] } 
   ]

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

我如何使用Moshi解析这个JSON?


1
我该如何使用Moshi解析这个JSON?像往常一样...显然,在解析后猜测需要哪个模型是很困难的。 - Selvin
2个回答

22

将其解码为一个 Map<String, Object> 对象。该 Map 对象的键将是您 JSON 的值。您可以像这样获取该适配器:

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

获取stackoverflow异常 - Shashank Srivastava
4
请提供更多的上下文或参考。 - Maor Hadad

2

在 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)

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接