android RealmKotlinjson to model

ru9i0ody  于 2023-05-12  发布在  Android
关注(0)|答案(1)|浏览(130)

我有这个json数据,我想把它转换成Realm模型:

{
"_id": "63dceb34a8c4bbeee1c807f9",
"weeks": [2, 3, 2, 3],
}

这是我的Kotlin模型:

open class ProgramDoc() : RealmObject {
    @PrimaryKey
    var _id: String = "",
    var weeks: RealmList<Int> = realmListOf<Int>()

}

但我得到了这个错误:

ProgramDoc.sessionPerWeek has type io.realm.kotlin.types.RealmList, got java.util.ArrayList

任何帮助请。

h6my8fg2

h6my8fg21#

这里的问题是,在你的JSON数据中包含一个ArrayList,但你的Realm模型需要一个RealmList
您可以做的是将ArrayList转换为RealmList,然后再将其Map到Realm模型。

open class ProgramDoc : RealmObject() {
    @PrimaryKey
    var _id: String = ""
    var weeks: RealmList<Int> = RealmList()
}

如何从json获取ProgramDoc模型的示例:

val jsonObject = JSONObject(YOUR_JSON_HERE)

val programDoc = ProgramDoc(
    _id = jsonObject.getString("_id"),
    weeks = RealmList(jsonObject.getJSONArray("weeks").toList().map { it as Int })
)

相关问题