ROOM实体api字段名称以数字开头

时间:2019-05-20 04:41:27

标签: parsing kotlin entity android-room datapersistance

我有一个API,该API返回以数字开头的对象,因此我无法使用Kotlin中的Room正确解析它。

@Entity(tableName = "1d")
data class 1D(
        @SerializedName("percent")
        val percent: Double?
)

收到的数据:

"1d":
{"percent":"22.0"}

有没有办法使这项工作成功?

2 个答案:

答案 0 :(得分:0)

您可能知道Java和Kotlin无法处理以数字开头的变量名。 问题出在以下事实上:

int 12 = 14 // ????

int 7f = 8 // again 7 float is 8...

由于您使用的是API,因此我猜测您正在获取JSON数据。 我建议您遍历数据并扫描它们以查找此类问题。 如果遇到添加唯一前缀的问题,请仅保存。 如果以后需要将数据序列化回API,请再次执行相同操作,同时每次遇到前缀时都删除前缀。

答案 1 :(得分:0)

感谢Itamar Kerbel,它使用拦截器将我引到了这个答案:

https://stackoverflow.com/a/43651958/666661