我已经阅读了关于同一问题的其他评论,但没有一个涉及像我这样的情况
在我这里,下面描述了数据的结构
val ref: DatabaseReference? = Firebase.database.getReference("symbols/${alphabets}")
{
"symbols" : {
"alphabets" : {
"a" : {
"available" : true,
"text" : "A",
"timestamp" : 1.512686825309134E9
},
"b" : {
"available" : true,
"text" : "B",
"timestamp" : 1.512687248764272E9
}
"NameOfSymbols" : "group of alphabets"
}
}
}
<块引用>
数据列表继续,然后字符串在对象的末尾
*我的显示错误的原因是它无法将字符串 "NameOfSymbols" : "alphabets" 转换为数据类中指定的对象
那么,有什么办法呢,我用的是kotlin
有没有一种方法可以排除子值的那部分,而我只得到数据类中指定的值?
数据类
data class alphabets(
val name: Names,
var NameOfSymbols: String? = null) {
data class Names(
var available: Boolean? = null,
var text: String? = null,
var timestamp: Long? = null) {
}
}
答案 0 :(得分:0)
如果你正在听
"symbols/alphabets"
那么里面的孩子是:
"a" : {
"available" : true,
"text" : "A",
"timestamp" : 1.512686825309134E9
}
在这种情况下,这是一个 Map<String, Any>
,我们可以根据需要将 Any
定义为特定的 data class
data class Names(
val available: Boolean? = null,
val text: String? = null,
val timestamp: Long? = null
)
然后您必须将快照转换为:
Map<String, Names>