PHP 的 json_decode
函数不知道是有bug,还是考虑太少,常常会发生解析不出数据的情况,使用 json_last_error_msg()
函数大部分情况下可以获得下面的错误:
Control character error, possibly incorrectly encoded
但是 Google 了一圈,都没有办法去修正这个错误,后面咨询了牛逼闪闪的 Kingmax 师兄,他说:“json_decode经常会有东西解不出来的,应该用一个叫Sevice_JSON的类去解析,这个比较全能,帮你把特殊字符都处理好了”,试了下果然可以。
到这里直接下载 Services_JSON,然后直接使用:
<?php
include 'JSON.php';
$json = new Services_JSON();
$data = $json->decode($str);
?>
既可以了,如果想和 json_decode
的第二个参数一样,可以解析返回的数据为数组,那就要在 new Services_JSON
的时候加上这个参数 SERVICES_JSON_LOOSE_TYPE
︰
<?php
include 'JSON.php';
$json = new Services_JSON(SERVICES_JSON_LOOSE_TYPE);
$data = $json->decode($str);
?>
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有