我正在尝试使用firebase作为后端创建一个restful服务。我创建了一个示例应用,当我点击此网址[https://poctest1.firebaseio.com/rest.json]时,我收到了以下回复。
[
null,
{
"value": "test1"
},
{
"value": "test 2"
}
]
为什么我在顶部得到一个null,我还没有插入任何一个。
帮我解决这个问题。感谢
答案 0 :(得分:3)
您所看到的是Firebase的SDK如何反序列化类似阵列的结构。 Firebase's documentation on arrays解释道:
使用
val()
或REST api读取数据时,如果数据看起来像数组,Firebase会将其渲染为数组。特别是,如果所有键都是整数,并且0和对象中最大键之间的键的一半以上具有非空值,则Firebase会将其渲染为数组。
由于您的数组在索引0处没有元素,因此Firebase会为此注入null
。
通常,在使用Firebase时,您应该尝试不使用数组,原因在于我上面链接的文档中提到的原因。如果您发现必须使用数组,请确保始终在Firebase中更新整个数组。所以不要试图操纵数组中的特定项。
答案 1 :(得分:0)
在零位置添加一个值,然后你就不会得到空值。