首页 > 解决方案 > 在 Kotlin 中为 Room 库制作复杂的数据类

问题描述

我有一些来自服务器的复杂 json 字符串响应。我正在尝试data class在 Kotlin 中使用类似的结构来使用该Room库。

我的数据如下所示:

{
  "success": true,
  "data": {
    "summary": {
      "key": "value",
      "key": "value",
      "key": "value",
      ...

    },
    "key": "value",
    "key": "value",
    "key": "value",
    "key": [
      "value",
      "value",
      "value"
    ],
    "key": false,
    "key": 0,
    "key": 2.5,
    "key": "2",
    "key": [
      {
         "value",
         "value",
         ...
      },
      {
         "value",
         "value",
         ...
      }
    ],
    "key": value
  }
}


如何使用 Kotlin 将其合并到 Room 中的数据类中?

到目前为止,我一直在使用更简单的 json 数据,如下所示:

{
  "success": true,
  "data": {
    {
      "key": "value",
      "key": "value",
      "key": "value",
      ...
    },
    {
      "key": "value",
      "key": "value",
      "key": "value",
      ...
    }
  }
}

对于上述模型,我在 Room 中使用了类似的东西:

@Entity(table_name = "table_name")
data class EntityName(
 val value1 : String?
 val value2 : String?
 @PrimaryKey val id : Int
)

我如何整合所有可能出现的不同类型的可能性和分支?

我确实有所有可能的分支的结构

标签: androidsqldatabasekotlinandroid-room

解决方案


推荐阅读