【发布时间】:2018-03-10 20:55:51
【问题描述】:
我有一些如下所示的 JSON:
{
"name" : "Credit Card",
"code" : "AUD",
"value" : 1000
}
我正在使用 Moshi 将其解组为如下数据结构:
data class Account(
@Json(name = "name")
val name: String,
@Json(name = "currency")
val currency: String,
@Json(name = "value")
val value: Int
)
一切正常。但是,我真的很想将currency 和value 参数提取到单独的Money 对象中。所以我的模型看起来更像:
data class Money(
@Json(name = "currency")
val currency: String,
@Json(name = "value")
val value: Int
)
data class Account(
@Json(name = "name")
val name: String,
@Json(name = "???")
val money: Money
)
我正在努力解决的挑战是如何注释事物,以便可以为 Money 对象提供两个不同的字段(currency 和 value),它们来自与父帐户相同的级别。
我是否需要创建一个名为MoshiAccount 的中间“解组”对象,然后使用自定义适配器将其转换为我真正的Account 对象?
我看到How to deseralize an int array into a custom class with Moshi? 看起来很接近(除了在这种情况下,适配对象(VideoSize)只需要一个字段作为输入......在我的情况下,我需要currency 和value)
任何想法或建议将不胜感激。谢谢
【问题讨论】: