这是我需要发送的Request正文(PHP中的Curl POST请求)
$data = {
"paramOne" : "f733787d-5649",
"paramTwo": {
"format": "123XD"
},
"paramThree": [
{"type":"cn", "value":"Test User Manish 1"},
{"type":"c", "value":"US"}
]
};
我正在PHP的Curl请求的这一行尝试使用它-
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
嵌套的参数弄乱了我尝试发送的格式。
我已经尝试使用 http_build_query ,但是paramThree导致了问题。 我正在寻找在对$ data格式进行更改之前要对它使用http_build_query的方法。
答案 0 :(得分:1)
它是JSON。您可以将其发布为字符串(用引号引起来),也可以先创建一个数组,将其转换为JSON,然后发布。像这样:
$array = [
'paramOne' => 'f733787d-5649',
'paramTwo' => [
'format' => '123XD'
],
'paramThree' => [[
'type' => 'cn',
'value' => 'Test User Manish 1'
],
[
'type' => 'c',
'value' => 'US'
]]
];
$data = json_encode($array);
在两种情况下都使用
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type:application/json'));