如何使用curl使用JSON数据进行POST调用?

如何使用curl使用JSON数据进行POST调用?,json,api,curl,post,Json,Api,Curl,Post,我尝试过使用curl只获取呼叫,现在我需要进行POST呼叫。我需要使用JSON提供参数或输入。如何编写此命令?假设您询问如何使用JSON属性格式化curl POST请求 curl -i -H "Accept: application/json" -H "Content-Type: application/json" -X POST -d "{'json':{'key':'value'}}" http://your.domain/endpoint/here 介绍了许多有用的情况。您需要在命令中使

我尝试过使用curl只获取呼叫,现在我需要进行POST呼叫。我需要使用JSON提供参数或输入。如何编写此命令?

假设您询问如何使用JSON属性格式化curl POST请求

curl -i -H "Accept: application/json" -H "Content-Type: application/json" -X POST -d "{'json':{'key':'value'}}" http://your.domain/endpoint/here

介绍了许多有用的情况。

您需要在命令中使用标题选项,如下所示。
-H/--标题“内容类型:应用程序/json”

因此,完整命令如下所示:
curl-H“Content-Type:application/json”-X POST-d'{“username”:“abc”,“password”:“xyz”}'

谢谢Jack和Hrishikesh,您的回答对我帮助很大。我生成了以下curl命令:curl-i-H“Accept:application/json”-H“Content Type:application/json”-X POST-d“{json':{”Name:“web”,“TaskTemplate:{”ContainerSpec:{”Image:“nginx:alpine”,“Mounts:[{”VolumeOptions:{”DriverConfig:{}}}],“User:“33”,“LogDriver:{”Name:{”json file:“Options:{”max file:“3”,“max size:“10M”}“https://:2376/services/create。但是它向我抛出了500个错误,你能不能回顾一下我犯了一个错误,这个错误对我有很大帮助?你的API可能不希望你的json以一个名为json的键开始,所以请删除它。{“Name”:“web”,“TaskTemplate”:{“ContainerSpec”:{“Image”:“nginx:alpine”,“Mounts”:[{“VolumeOptions”:{“DriverConfig”:{}}}}],“User”:“33”},“LogDriver”:{“Name”:“json文件”,“Options”:{“max file”:“3”,“max size”:“10M”}}}}我试过那个jack,但没有解决问题。下面是我收到的错误消息:HTTP/1.1500内部服务器错误内容类型:应用程序/json服务器:Docker/1.12.2(linux)日期:2016年10月21日星期五14:12:12 GMT内容长度:81在这个问题的上下文中,几乎不可能对其进行诊断。我建议问一个新问题,包括服务器上运行的应用程序以及应用程序日志。可能它无法处理给定输入中的某些内容。我尝试了你的格式Hrishikesh。这对我来说就像预期的一样,非常感谢。我尝试在Linux上使用相同的格式,但是我得到了“没有提供数据”的错误。