2

当尝试使用Firebase REST API将 hashmap 推送到列表时,任何具有空数组作为值的 key:value 对都将被静默删除,例如:

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"]
  }
}

这给我们的客户带来了问题,因为他们期望 toBeDropped 是[],而不是null在这种情况下。

4

1 回答 1

6

这实际上是 Firebase 的预期行为。在内部,Firebase 将数组和对象视为同一类型(如果所有键名都是整数,则仅在客户端将它们转换为数组)。Firebase 还将空对象和 null 视为同一类型。

结果,您的空数组最终为空。

于 2013-03-09T02:54:45.340 回答