У меня есть 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. Однако, если я буду моделировать отношения, как в документации, я не знаю, как позволить Моши отобразить отношения? Вы нашли самое простое решение для этой проблемы?