如下图在浏览器中返回的字符串

看着没有什么问题。
下面是把上面字符串复制到编辑器中查看,发现成啦两行,这可能是返回的字符串中有bom头不可见的字符

json_decode要求的字符串比较严格:
(1)使用UTF-8编码
(2)不能在最后元素有逗号
(3)不能使用单引号
(4)不能有\r,\t,如果有请替换
如果上面问题都确定符合那就可能是下面问题啦
不小心在返回的json字符串中返回了BOM头的不可见字符,某些编辑器默认会加上BOM头,
如下处理才能正确解析json数据:
$result = json_decode(trim($contents,chr(239).chr(187).chr(191)),true); |