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
答案 0 :(得分:1)
使用Types.newParameterizedType(Map::class.java, String::class.java, Double::class.javaObjectType)
javaOjectType返回原始类型的相应盒装类型。