firebase错误(子:)必须是非空字符串,不包含'。' '#''$''['或']

时间:2018-01-16 11:00:58

标签: swift firebase

我正在将键值对上传到firebase,我收到错误

  

(child :)必须是非空字符串且不包含'。' '#''$''['或'] ......

这个错误意味着孩子“key”包含$#。等

或者如果孩子的“价值”包含$#。等?

因为我想找到错误的位置?

这是我的下面的字典,虽然我看不到键值对的关键部分中的任何值。

这是字典:

["Subtitle": Sad DVD, "Email": go@mail.com, "Gender": 27, "Username": Sad DVD, "Display Name": Sad DVD, "Account Type": Business, "Password": Sdfsdfsdf, "profileImageUrl": https://firebasestorage.googleapis.com/v0/b/grapevine-2019-1d4a5.appspot.com/o/profile%20images%2F438670B1-E723-484C-8510-555B1CA0B9C5png?alt=media&token=b65796ea-6380-497e-a98b-d1c75c4c454a]

这是个人资料图片网址https://firebasestorage.googleapis.com/v0/b/grapevine-2019-1d4a5.appspot.com/o/profile%20images%2F438670B1-E723-484C-8510-555B1CA0B9C5png?alt=media&token=b65796ea-6380-497e-a98b-d1c75c4c454a

1 个答案:

答案 0 :(得分:0)

您可以将任何ascii文本存储为值,因此问题在于其中一个键或者值为空。

我将您的数据复制并粘贴到项目中,并将所有值括在引号

let test = ["Subtitle": "Sad DVD",
            "Email": "go@mail.com",
            "Gender": "27",
            "Username": "Sad DVD",
            "Display Name": "Sad DVD",
            "Account Type": "Business",
            "Password": "Sdfsdfsdf",
            "profileImageUrl": "https://firebasestorage.googleapis.com/v0/b/grapevine-2019-1d4a5.appspot.com/o/profile%20images%2F438670B1-E723-484C-8510-555B1CA0B9C5png?alt=media&token=b65796ea-6380-497e-a98b-d1c75c4c454a"
]

然后,为了测试数据,我将其写入Firebase,如下所示:

let testRef = self.ref.child("test").childByAutoId()
testRef.setValue(test)

正确编写了没有错误的数据。

这意味着您的问题中包含的字符串不是写入Firebase的实际字符串。

我建议添加一个

print(test)

在分配给测试变量后立即检查,以检查不正确或空值的密钥。

哦 - 问题也可能是您尝试写入的父节点。在我的代码中,我使用childByAutoId创建了父键 - 您的问题中没有包含您的代码,但您可能也想检查它。