在Firebase rest响应中获取空值

在Firebase rest响应中获取空值,rest,null,firebase,restful-url,Rest,Null,Firebase,Restful Url,我正在尝试使用firebase作为后端创建一个restful服务。我已经创建了一个示例应用程序,当我点击这个url[]时,我得到了以下响应 [ null, { "value": "test1" }, { "value": "test 2" } ] 为什么我在顶部得到一个空值,我没有插入任何 帮我弄清楚。谢谢您看到的是Firebase的SDK如何反序列化类似数组的结构。解释如下: 当使用val()或通过读取数据时,如果数据看起来像一个数组,Firebase会

我正在尝试使用firebase作为后端创建一个restful服务。我已经创建了一个示例应用程序,当我点击这个url[]时,我得到了以下响应

[
  null,
  {
    "value": "test1"
  },
  {
    "value": "test 2"
  }
]
为什么我在顶部得到一个空值,我没有插入任何


帮我弄清楚。谢谢

您看到的是Firebase的SDK如何反序列化类似数组的结构。解释如下:

当使用
val()
或通过读取数据时,如果数据看起来像一个数组,Firebase会将其渲染为一个数组。特别是,如果所有键都是整数,并且对象中0和最大键之间的键有一半以上具有非空值,则Firebase将将其渲染为数组

由于数组在索引0处没有元素,Firebase为此注入了
null


一般来说,在使用Firebase时,您应该尽量不使用数组,因为我在上面链接的文档中提到了这些原因。如果发现必须使用阵列,请确保始终在Firebase中更新整个阵列。因此,不要试图操纵数组中的特定项。

在零位置添加一个值,则不会得到空值。

您可以演示如何插入该数据吗?看起来您添加了一个数组,然后删除了元素
0
。请注意,Firebase对数组有特殊(有时非常不直观)的处理:。一般来说,最好找到另一个数据结构,例如基于Firebase的
push
方法的集合。@FrankvanPuffelen No I手动插入Firebase。