【发布时间】:2020-07-16 11:24:30
【问题描述】:
我有那个Json,我想用Moshi 映射并用Room 存储
{
"name": "My Group",
"members": [
{
"id": "119075",
"invitedUser": {
"id": 97375,
"email": "xxx@gmail.com"
},
"inviting_user": {
"id": 323915,
"email": "yyy@gmail.com"
}
},
{
"id": "395387",
"invitedUser": {
"id": 323915,
"email": "aaa@gmail.com"
},
"inviting_user": {
"id": 323915,
"email": "bbb",
}
}
]
}
我准备了我的模型
@Entity(tableName = "groups")
data class Group(
@PrimaryKey
val id: Long,
val members: List<Member>
)
@Entity(tableName = "members")
data class Member(
@PrimaryKey
val id: Long,
@Json(name = "invited_user")
@ColumnInfo(name = "invited_user")
val invitedUser: User,
@Json(name = "inviting_user")
@ColumnInfo(name = "inviting_user")
val invitingUser: User
)
@Entity(tableName = "users")
data class User(
@PrimaryKey
val id: Int,
val email: String
)
目前,我有error: Cannot figure out how to save this field into database.
我读了这个https://developer.android.com/training/data-storage/room/relationships。但是,如果我要像文档中那样对关系进行建模,我不知道如何让 Moshi 映射关系?您找到解决该问题的最简单方法了吗?
【问题讨论】:
标签: android android-room moshi android-room-relation