Python 使用浮点数作为键的Firebase
我意识到,当将一些JSON数据推入Firebase存储时,服务器发出了400个HTTP错误请求,这些数据的密钥是浮点数。以下是我得到的答复:Python 使用浮点数作为键的Firebase,python,json,firebase,Python,Json,Firebase,我意识到,当将一些JSON数据推入Firebase存储时,服务器发出了400个HTTP错误请求,这些数据的密钥是浮点数。以下是我得到的答复: {"error" : "Invalid data; couldn't parse JSON object, array, or value. Perhaps you're using invalid characters in your key names."} 我发送的数据如下: '[{"36.5": "4050952597550"}, {"4
{"error" : "Invalid data; couldn't parse JSON object, array, or value. Perhaps you're using invalid characters in your key names."}
我发送的数据如下:
'[{"36.5": "4050952597550"}, {"41.5": "4050952597628"}]'
我相信它在Python中完全是一个有效的JSON字符串,因为我在编码/解码它时不会出错
import json
v = [{u'36.5': u'4050952597550'}, {u'41.5': u'4050952597628'}]
print v == json.loads(json.dumps(v))
True
这是某种错误还是我遗漏了什么 它是有效的JSON,但不是有效的Firebase。它似乎不喜欢经期。如果您真的必须对属性名称使用浮点数(听起来有问题),您可以尝试用其他字符(如下划线或逗号)替换句点 摘自Firebase文档中的页面: 字符集限制 请注意,用于构造Firebase引用的URL可能包含任何unicode字符,但以下字符除外:
- 。(期间)
- $(美元符号)
- [(左方括号)
- ](右方括号)
- #(哈希或磅符号)
- /(正斜杠)
/[\[\].#$\/\u0000-\u001F\u007F]/