php json无法解析中文,json 无法解析解决方法

json 无法解析 跟大伙请教一个问题,在网站做了一个功能,加载第三方类文件发送短信,短信发送成功,把array('status'=0,'message'='发送成功')以json字符串的形式返回,现在遇到这样一个情况,返回的json字符串无法解析,如果去掉发送短信,则返回的json字符

json 无法解析

跟大伙请教一个问题,在网站做了一个功能,加载第三方类文件发送短信,短信发送成功,把array('status'=>0,'message'=>'发送成功') 以json字符串的形式返回, 现在遇到这样一个情况,返回的json字符串无法解析,如果去掉发送短信,则返回的json字符串可以正常解析, 正常字符串对比无法解析的字符串没发现有不同的地方

------解决思路----------------------

可以解释到,估计你贴的不是错误的json

Array

(

[status] => 1

[message] => 升级中!

)

------解决思路----------------------引用:复制字符串?{"status":1,"message":"\u5347\u7ea7\u4e2d\uff01"} 到json解析工具里 http://www.bejson.com/ 无法解析提示 Unexpected token ? 错误

这个工具单独去处理json,是有问题的,所以你提供的json串是正确的。

------解决思路----------------------

$url = 'http://bbs.csdn.net/topics/391832102';

$s = file_get_contents($url);

$w = iconv('gbk',&nbs【本文来自鸿网互联 (http://www.68idc.cn)】p;'utf-8', '复制字符串'); //我习惯用 gbk 环境

preg_match("/$w(.+})/", $s, $m);

echo bin2hex($m[1]), PHP_EOL;

echo substr($m[1], 3);efbbbf7b22737461747573223a312c226d657373616765223a225c75353334375c75376561375c75346532645c7566663031227d

{"status":1,"message":"\u5347\u7ea7\u4e2d\uff01"}那个 efbbbf 不就是 BOM 头吗?

------解决思路----------------------

来来来,预览验证一下数据,模拟一下请求

http://jsonohyeah.com

本文原创发布php中文网,转载请注明出处,感谢您的尊重!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值