0
我想将json数据发布到远程URL,并且该url将返回json格式数据。这里是我的代码:php发布json到远程服务器并获取json结果
$post_array=Array(
"trips"=>array(
"departure_code"=> "SIN",
"arrival_code"=> "HKT",
"outbound_date"=>"2014-02-29",
"inbound_date"=> "2014-03-05"
),
"adults_count"=> 1
);
$content = json_encode($post_array);
$curl = curl_init($search_url);
curl_setopt($curl, CURLOPT_HEADER, false);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_HTTPHEADER, array("Content-type: application/json"));
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_POSTFIELDS, $content);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
$result = curl_exec($curl);
//$response = json_decode($result);
var_dump($result);
curl_close($curl);
结果应该是:
{
"id": "pNQFapkhRQ6ZYxql4MQDbQ",
"key": "[SIN:HKT:2014-01-29:2014-02-05]~1~0~XX~FI",
"trips": [
{
"id": "SIN:HKT:2014-01-29:2014-02-05",
"departure_code": "SIN",
"departure_name": "Singapore",
"trip_type": "standard"
}
],
"cabin": "economy",
"adults_count": 1,
}
我string(35) "{"message":"Problems parsing JSON"}"
错误。感谢帮助。
问题的一个简单的演示是符合你的要求;见http://www.lornajane.net/posts/2011/posting-json-data-with-php-curl –
你真的在你的第一行或数组中使用'Array(...' (小写)?你能显示'var_dump($ content)'的结果吗? –
嗨,我改变数组到数组,但结果是一样的。var_dump($ content)的结果是字符串(129)“{”trips“ :{ “departure_code”: “SIN”, “arrival_code”: “HKT”, “outbound_date”: “2014年2月29日”, “inbound_date”: “2014年3月5日”}, “adults_count”:1}” – user3210341