接收到的json解析不了,必須用php解析
function sendPost($url,$postData){
$postdata = http_build_query($postData);
$options = array(
'http' => array(
'method' => 'POST',
'header' => 'Content-type:application/x-www-form-urlencoded',
'content' => $postdata,
'timeout' => 15 * 60 // 逾時時間(單位:s)
)
);
$context = stream_context_create($options);
$result = file_get_contents($url, false, $context);
return $result;
}
$url = "http://chepiao.sinaapp.com/api.php?act=remain";
$data = array(
"date"=>"20131220",
"startStation"=>"北京",
"arriveStation"=>"天津"
);
$result = sendPost($url, $data);
$obj = json_decode($result);
$result就是返回來的資料,就是解析不了,用json_decode($result);解析成的是NULL
分享到: 更多
------解決方案--------------------
本帖最後由 xuzuning 於 2013-12-17 19:19:36 編輯
連csdn都不能接受這種字元集的錯亂
utf-8環境看到
------解決方案--------------------
真奇葩
echo json_last_error();
結果是4,說明格式不正確
於是把返回的東西扔http://jsonlint.com/檢測,報錯,發現是換行的問題
print_r(json_decode(str_replace("\n"," ",$result)));
結果就好了。