无法在 Kotlin 中使用 Moshi 解析 Map<String, Double> - 意外的原始双精度
Can't parse Map<String, Double> with Moshi in Kotlin - Unexpected primitive double
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
使用Types.newParameterizedType(Map::class.java, String::class.java, Double::class.javaObjectType)
javaOjectType returns 原始类型对应的装箱类型。
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
使用Types.newParameterizedType(Map::class.java, String::class.java, Double::class.javaObjectType)
javaOjectType returns 原始类型对应的装箱类型。