当尝试使用Firebase REST API将哈希映射推送到列表时,任何具有空数组作为值的键:值对都将被静默删除,例如:
curl -X POST -d '{"name": "Persists", "words": ["what", "is", "this"], "toBeDropped": []}' "https://fbdev.firebaseio.com/channels/example.json?auth=sometoken
Firebase数据结构中的结果:
{
"random-id": {
"name": "Persists",
"words": ["what", "is", "this"]
}
}
这会导致我们的客户遇到问题,因为在这种情况下,他们希望自己被[]
而不是null
。
答案 0 :(得分:5)
这实际上是Firebase的预期行为。在内部,Firebase将数组和对象视为相同类型(如果所有键名都是整数,则仅将它们转换为客户端上的数组)。 Firebase还将空对象和null视为同一类型。
结果,您的空数组最终为空。