You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Firebase实时数据库@PropertyName存数据正常但无法读取问题

解决Firebase实时数据库读取数据时@PropertyName注解失效的问题

你的问题出在Kotlin数据类中@PropertyName注解的作用目标不对。默认情况下,Kotlin的注解会直接标注在字段上,但Firebase实时数据库在读取数据时,是通过类的getter方法来映射字段的,所以需要明确指定注解作用在getter上。

修改后的代码如下:

import com.google.firebase.database.PropertyName

data class MyClass(
  @get:PropertyName(value = "n") 
  val name: String = "",
)

原理很简单:Firebase在序列化和反序列化时,对于Kotlin的属性,会优先识别getter方法上的@PropertyName注解。原来的写法只给字段加了注解,读取时Firebase找不到对应的映射关系,就会触发默认构造函数返回空字符串;改成作用在getter上后,就能正确将数据库中的"n"键映射到name属性了。

内容的提问来源于stack exchange,提问作者Lheonair

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.13 08:07:02