Moshi 使用不同的密钥解析 json
Moshi parse json with different key
我一直在寻找 PolymorphicAdapter
,但我能找到的所有多态示例都有一个名为“type”的键或类似的东西,可以用来区分要使用的 class。但是就我而言,我没有这样的钥匙。我对如何解析这种奇特的 json.
有点迷茫
{
"infos": {
"1588318": {
"id": "1588318",
"id_user": "9701",
"profile_name": "Profile1",
"views": 100
},
"1588319": {
"id": "1588319",
"id_user": "7391",
"profile_name": "Profile2",
"views": 10
},
"1588320": false,
"1588321": {
"id": "1588321",
"deleted": true
}
}
}
data class UserInfo(val infos: Map<String, UserResult>)
sealed class UserResult {
data class UserDeleted(val id: String, val deleted: Boolean): UserResult()
data class UserInfoCard(
val id: String,
val title: String,
@Json(name = "profile_name") val profileName: String,
val views: Int
): UserResult()
}
最后我没有找到任何解决方案,在与 API 经理讨论后,他说他会用密钥更新以确定它是 profile
还是 [=11] =]
我一直在寻找 PolymorphicAdapter
,但我能找到的所有多态示例都有一个名为“type”的键或类似的东西,可以用来区分要使用的 class。但是就我而言,我没有这样的钥匙。我对如何解析这种奇特的 json.
{
"infos": {
"1588318": {
"id": "1588318",
"id_user": "9701",
"profile_name": "Profile1",
"views": 100
},
"1588319": {
"id": "1588319",
"id_user": "7391",
"profile_name": "Profile2",
"views": 10
},
"1588320": false,
"1588321": {
"id": "1588321",
"deleted": true
}
}
}
data class UserInfo(val infos: Map<String, UserResult>)
sealed class UserResult {
data class UserDeleted(val id: String, val deleted: Boolean): UserResult()
data class UserInfoCard(
val id: String,
val title: String,
@Json(name = "profile_name") val profileName: String,
val views: Int
): UserResult()
}
最后我没有找到任何解决方案,在与 API 经理讨论后,他说他会用密钥更新以确定它是 profile
还是 [=11] =]