如何在cURL发布请求中发送简单对象

问题描述:

我需要将简单对象{foo:"bar"}附加到x-www-form-urlencoded cURL发布请求。注意下面例子中的元数据标签:你如何编码这样的对象?我意识到这不是字面的JSON,就像我在下面的请求示例中所述。如何在cURL发布请求中发送简单对象

curl https://api.stripe.com/v1/transfers \ -u **********************: \ -d currency=usd \ -d description='This is a test' \ -d destination=************* \ -d metadata='{foo:"bar"}' \ -d amount=200

我也试过%7B'foo'%3A'bar'%7Dfoo=bar

条纹API回应总是: { "error": { "type": "invalid_request_error", "message": "Invalid metadata: metadata must be a set of key-value pairs", "param": "metadata" } }

对于任何具有与嵌套元数据的麻烦,答案如下。 ..

curl https://api.stripe.com/v1/transfers \ -u ************: \ -d currency=usd \ -d description='This is a test' \ -d destination=********* \ -d metadata[foo]=bar \ -d amount=200

用这个试一下

-d metadata='{"foto":"bar"}' 
+1

感谢您的回答。这可能适用于其他场景,但Stripe API不接受该格式。结果是'''metadata [foo] = bar''' – user1791914