【问题标题】:Syntax of the JSON body in CURL call to a REST API对 REST API 的 CURL 调用中 JSON 主体的语法
【发布时间】:2017-08-11 19:25:04
【问题描述】:

当我尝试从 OSX 上的终端发送 curl 请求时:

curl --anyauth --user usr:pwd -X PUT -d '{"events":{"event":"Database Replicate"}}' -i -H "Content-type: application/json" URL

它给了我以下错误:

{"errorResponse":{"statusCode":"400", "status":"Bad Request", "messageCode":"XDMP-JSONDOC", "message":"XDMP-JSONDOC: xdmp:unquote(\ "'{events:{event:Database Replicate}}'\", (), \"format-json\") -- 文档不是 JSON"}}

我试图转义引号,确保它的 UTF-8,仍然不起作用。当我简单地将它保存在一个文件中,然后将其作为 -d@filename.json 附加到 CURL req 时,它就可以工作了。

知道我是否遗漏了什么?提前致谢。

【问题讨论】:

  • 你在 Windows 上吗?
  • 抱歉,刚刚更新了问题。我正在使用 macOS Sierra。
  • 您是否使用了正确的单引号?我刚刚复制了正文,它有撇号(')而不是主要符号(')
  • 我自己打字,但在 macOS 上的“Notes”应用程序中编写了 req,然后将其复制粘贴到终端上。 Notes 应用程序将您的默认 (') 转换为 (')。我想我不应该使用它。谢谢。

标签: json rest api curl escaping


【解决方案1】:

直接在终端上输入请求解决了这个问题。在编码方面不要相信任何第 3 方应用。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-07-05
    • 1970-01-01
    • 2015-06-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-10-16
    相关资源
    最近更新 更多