2014-05-30

json_decode 返回 null 解析失败原因

1+

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);
print_r($result);

本文仅有一篇评论 ↓↓

  1. 经常遇到这个问题。