CouchDB cURL Windows命令行无效的JSON

使用cURL从Windows命令行运行以下命令尝试将新文档发布到现有CouchDB数据库(名为test)失败:

curl -H "Content-Type: application/json" -X POST "http://127.0.0.1:5984/test" -d {"valid":"json"}

它返回错误:

{"error":"bad_request","reason":"invalid_json"}

JSON是有效的,所以给出了什么?


答案与命令行中JSON字符串的格式有关。 尽管当你输入它时它是正确的JSON,但似乎在命令行中,它必须在发送之前重新格式化它(也许别人可以解释为什么它会更详细地解释它。)要解决这个问题,你需要在命令行如下所示:

curl -H "Content-Type: application/json" -X POST "http://127.0.0.1:5984/test" -d {"""valid""":"""json"""}

看到额外的引号? 这应该工作并返回“ok:true”,带有一个id和修订号。


你还必须引用整个声明来支持如下的空格:-d“{”title “:”没有什么可以丢失的“,”艺术家“:”Foo Fighters “}”“

链接地址: http://www.djcxy.com/p/1325.html

上一篇: CouchDB cURL Windows Command Line Invalid JSON

下一篇: Spring 4.x/3.x (Web MVC) REST API and JSON2 Post requests, how to get it right once for all?