ski*_*joe 18 command-line json curl couchdb
使用cURL从Windows命令行运行以下命令,尝试将新文档发布到现有CouchDB数据库(命名为test)失败:
curl -H "Content-Type: application/json" -X POST "http://127.0.0.1:5984/test" -d {"valid":"json"}
Run Code Online (Sandbox Code Playgroud)
它返回错误:
{"error":"bad_request","reason":"invalid_json"}
Run Code Online (Sandbox Code Playgroud)
JSON是有效的,所以给出了什么?
ski*_*joe 12
答案与命令行上JSON字符串的格式有关.即使你键入它是正确的JSON,它似乎必须在发送它之前重新格式化它.(也许其他人可以解释为什么它会更详细地解释它.)要解决这个问题,你需要逃避你的引用命令行如下:
curl -H "Content-Type: application/json" -X POST "http://127.0.0.1:5984/test" -d {"""valid""":"""json"""}
Run Code Online (Sandbox Code Playgroud)
看到额外的引号?这应该工作并返回带有id和版本号的"ok:true".
小智 5
您还必须引用整个声明以支持以下空格: -d "{\"title\":\"There is nothing Left to Lose\" , \"artist\":\"Foo Fighters\"}"
| 归档时间: |
|
| 查看次数: |
12000 次 |
| 最近记录: |