php无法接收json头,接收到的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

回复讨论(解决方案)

来人帮解析一下

打印下$result看下结果

真够可以的

gbk环境看到

{“title”:”北京 – 天津 ??0娆¤溅锛?”,”errMsg”:”????ㄥ?锛??绋????璇??”}

utf-8环境看到

{“title”:”???? – ??

本帖最后由 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)));

结果就好了。

多谢各位 json_last_error没学会用,结贴了

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值