Firebase实时数据库在放入数据时自动添加一个额外的null
当我尝试将带有整数的数据作为实时数据库的键时,如下所示:Firebase实时数据库在放入数据时自动添加一个额外的null,firebase,firebase-realtime-database,Firebase,Firebase Realtime Database,当我尝试将带有整数的数据作为实时数据库的键时,如下所示: curl -X PUT -d '{"1": 1, "2": 2, "3": 3, "4": 4}' ${firebase}'/test.json?print=pretty' 数据库会自动添加一个null! 但是,如果我使用0作为开始的数据: curl -X PUT -d '{"0":0,"1": 1, "2": 2, "3": 3, "4": 4}' ${firebase}'/test.json?print=pretty' 不
curl -X PUT -d '{"1": 1, "2": 2, "3": 3, "4": 4}' ${firebase}'/test.json?print=pretty'
数据库会自动添加一个null
!
但是,如果我使用0作为开始的数据:
curl -X PUT -d '{"0":0,"1": 1, "2": 2, "3": 3, "4": 4}' ${firebase}'/test.json?print=pretty'
不再有额外的null
。
为什么会这样?
我想要的是不再有额外的null
,没有“0”作为键
希望您的答案是:-)。这是由Firebase的阵列强制造成的。当它看到一个节点的子键大部分是序列号时,它会假定您正在尝试存储一个数组。它通过为缺少的元素添加占位符来确保数据实际上是一个数组 为了防止Firebase这样做,请确保键始终是无法转换为数字的字符串,例如,通过在它们前面加前缀:
curl-X PUT-d'{“key_1”:1,“key_2”:2,“key_3”:3,“key_4”:4}'
另见: