PHP 获取JSON json_decode返回NULL解决办法

在用json_decode对JSON格式的字符串进行解码时竟然为空,页面空白啊,整半天检查这里检查那里,问同事都没用。

今天必应搜索了下,问题解决了,原来是有BOM头输出,大虾的解决办法如下:

1)、json_decode($json,boolean):$json为json格式的字符,第二个参数为TRUE时表示转换为数组,默认的FALSE表示

转换为对象。

2)、json_decode要求的字符串比较严格:

(1)使用UTF-8编码
(2)不能在最后元素有逗号
(3)不能使用单引号
(4)不能有\r,\t,如果有请替换
解决办法一:
所以问题来了,不小心在返回的json字符串中返回了BOM头的不可见字符,某些编辑器默认会加上BOM头,如下处理才能正确解析json数据:

<?php
$info = json_decode(trim($info,chr(239).chr(187).chr(191)),true);

方法二:在转为json之前对中文进行转码

转载地址:http://www.cnblogs.com/anns/p/5974143.html

转载地址:https://segmentfault.com/q/1010000002991973

posted @ 2017-08-18 16:12  拾柒丷  阅读(1010)  评论(0编辑  收藏  举报