无法使用Kotlin中的Moshi解析Map <string,double =“”>-意外的原始double

时间:2019-02-19 12:39:15

标签: android kotlin moshi

val moshi = Moshi.Builder().build()
val type = Types.newParameterizedType(Map::class.java, String::class.java, Double::class.java)
val adapter = moshi.adapter<Map<String, Double>>(type)

val result = adapter.fromJson(InitData.json)

仅仅从Gson切换到Moshi,我遇到了这个问题。我希望上面的代码能正常工作,因为它似乎可以与Map<String, String>一起正常工作。

我得到一个 IllegalArgumentException:意外的原始双精度。使用框式

与Float相同。我知道这里发生了什么,但是Moshi无法做到吗?

这正在使用com.squareup.moshi:moshi-kotlin:1.8.0

1 个答案:

答案 0 :(得分:1)

使用Types.newParameterizedType(Map::class.java, String::class.java, Double::class.javaObjectType)

javaOjectType返回原始类型的相应盒装类型。