【问题标题】:Firebase POST Request - REST APIFirebase POST 请求 - REST API
【发布时间】:2018-07-14 17:38:37
【问题描述】:

我正在尝试使用 REST API 向 Firebase 提交 POST 请求。在 API 之后,我创建了以下 JSON,并将其作为请求的主体提交:

"'{\"senderId\":\"CBPA9tdrNyc1Y3AxSb8rkZjDJxh2\",\"senderName\":\"John\",\"text\":\"Hello its me\"}'"

这就是我的数据结构的样子:

但是,在提交我的请求后,并没有创建类似于上述条目的条目,而是将整个字符串添加为单个条目,如下所示:

我该如何解决这个问题?

这是 Firebase 文档建议的 curl 请求:

curl -X POST -d '{"user_id" : "jack", "text" : "Ahoy!"}' \
  'https://[PROJECT_ID].firebaseio.com/message_list.json'

我目前正在使用 https://www.hurl.it/ 进行测试,请求如下:

【问题讨论】:

    标签: json firebase curl firebase-realtime-database


    【解决方案1】:

    如果您仔细比较您的 JSON 与文档中的 JSON,您会在数据前后多了一个 "。这意味着您发布的是一个大字符串,而不是 JSON 对象。

    解决办法是去掉开头和结尾多余的双引号。这也意味着您不再需要转义 JSON 中的双引号:

    '{"senderId":"CBPA9tdrNyc1Y3AxSb8rkZjDJxh2","senderName":"John","text":"Hello its me"}'
    

    如果您用于发布的工具尝试将 JSON 解析为单个字符串,则需要使用单引号。如果没有(提示:hurl.it 没有),您也应该发布没有周围 ' 的正文。

    请求:

    回复:

    【讨论】:

    • 这会抛出:"error": "Invalid data; couldn't parse JSON object, array, or value."
    • 我感觉可能是您发布数据的方式造成的。您能否更新您的问题以显示您运行的精确命令?
    • 显然 hurl.it 也不需要周围的 '。请参阅我的更新答案。
    猜你喜欢
    • 2018-08-04
    • 1970-01-01
    • 2020-05-21
    • 2019-12-28
    • 1970-01-01
    • 1970-01-01
    • 2018-08-23
    • 2016-07-12
    • 2017-03-15
    相关资源
    最近更新 更多