Moshi:平台问题 class BigDecimal
Moshi: problem with platform class BigDecimal
我有一个 class:
@JsonClass(generateAdapter = true)
data class DayAveragePriceModel(
val asset: Asset,
val value: BigDecimal
)
其中 Asset
是我的习惯 class。我正在尝试使用 Moshi
但出现以下错误:
Caused by: java.lang.IllegalArgumentException: Platform class java.math.BigDecimal (with no annotations) requires explicit JsonAdapter to be registered
我该如何解决这个问题?我试过
return Moshi.Builder()
.add(KotlinJsonAdapterFactory())
.add(Object::class.java)
.build()
}
但它正在崩溃。
提前致谢!
正如异常所说,这是一个平台类型,你需要使用它的public API来编码和解码它。
object BigDecimalAdapter {
@FromJson fun fromJson(string: String) = BigDecimal(string)
@ToJson fun toJson(value: BigDecimal) = value.toString()
}
return Moshi.Builder()
.add(BigDecimalAdapter)
.add(KotlinJsonAdapterFactory())
.build()
我有一个 class:
@JsonClass(generateAdapter = true)
data class DayAveragePriceModel(
val asset: Asset,
val value: BigDecimal
)
其中 Asset
是我的习惯 class。我正在尝试使用 Moshi
但出现以下错误:
Caused by: java.lang.IllegalArgumentException: Platform class java.math.BigDecimal (with no annotations) requires explicit JsonAdapter to be registered
我该如何解决这个问题?我试过
return Moshi.Builder()
.add(KotlinJsonAdapterFactory())
.add(Object::class.java)
.build()
}
但它正在崩溃。
提前致谢!
正如异常所说,这是一个平台类型,你需要使用它的public API来编码和解码它。
object BigDecimalAdapter {
@FromJson fun fromJson(string: String) = BigDecimal(string)
@ToJson fun toJson(value: BigDecimal) = value.toString()
}
return Moshi.Builder()
.add(BigDecimalAdapter)
.add(KotlinJsonAdapterFactory())
.build()