Hi I'm having a problem with posting a JSON array with cURL to my API,
JSONData='
{
"customerCode": "DUMMY",
"fromLocation": {
"suburbName": "MELBOURNE",
"postCode": "3000",
"state": "VIC"
},
"toLocation": {
"suburbName": "SYDNEY",
"postCode": "2000",
"state": "NSW"
},
"goods": [
{
"pieces": "2",
"weight": "3",
"width": "10",
"height": "20",
"depth": "12",
"typeCode": "ENV"
}
]
} ';
and i am using this code to pass array but it does not work
$data_string = stripslashes($JSONData);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
'Content-Type: application/json',
'Content-Length: ' . strlen($data_string)
));
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($ch, CURLOPT_POSTFIELDS, array('JSONData'=>$data_string)
);
Please Help me to pass JSON array.
解决方案$username='xxx';
$password='xxx';
$url='http://apiurl';
$opts = array('http' =>
array(
'method' => 'POST',
'header' => array('Content-type: application/json', 'Authorization: Basic '.base64_encode($username.':'.$password)),
'content' => $JSONData
)
);
$context = stream_context_create($opts);
$response = file_get_contents($url, false, $context);
echo 'response: '.$response;