3

キーが浮動小数点数である Firebase ストレージに JSON データをプッシュすると、サーバーから 400 HTTP Bad Request が返されることに気付きました。これが私が得た応答です:

    {"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

これはある種のバグですか、それとも何か不足していますか?

4

1 に答える 1

8

有効な JSON ですが、有効な Firebase ではありません。生理が苦手なようです。プロパティ名に浮動小数点数を使用する必要がある場合 (疑問に思えます)、ピリオドをアンダースコアやコンマなどの他の文字に置き換えてみてください。

Firebase のドキュメントの参照の作成ページから取得:

文字セットの制限

Firebase 参照の作成に使用される URL には、以下を除くすべての Unicode 文字を含めることができることに注意してください。

  • . (限目)
  • $ (ドル記号)
  • [ (左角かっこ)
  • ] (右角かっこ)
  • # (ハッシュまたはポンド記号)
  • / (スラッシュ)

および ASCII 制御文字 0 ~ 31 および 127。

次の正規表現を使用して、これらの文字の存在を確認できます。

/[\[\].#$\/\u0000-\u001F\u007F]/
于 2013-06-14T17:04:35.083 に答える