如何解决Kotlinx-Serialization 中的映射和变量键名
Meta
很简单,但我如何为 Kotlinx 序列化建模 analysis
?
{
"Meta": {
"subject": "33306","interval": "weekly"
},"analysis": {
"2021-07-20": {
"dose": "0.6410"
},"2021-07-16": {
"dose": "0.9570"
},"2021-07-09": {
"dose": "0.6880"
}
}
}
我现在有这个。
@Serializable
class Observation(
@SerialName("Meta")
val Meta: Meta,@SerialName("analysis")
val analysis: Map<String,Map<String,String>>
)
但是我得到了错误。
kotlinx.serialization.json.internal.JsonDecodingException: polymorphic serializer was not found for missing class discriminator ('null')
解决方法
解决方案是将其建模为 Retrofit 中的 suspend
方法,并将其返回类型包装在 Response
中。
@GET("/observation")
suspend fun getObservation(
@Query("subject")
subject: String
): Response<Observation>
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。