在接口返回一个数组 echo json_encode($arr);获取到的返回值是正确的json字符串,但是使用json_decode($json,ture)转为php数组时,却打印出null;确认数组时urt-8格式;而且返回的json字符串也是正确的json格式(复制到在线json转码显示正常),但是转不了数组;
经过网上搜集,总结了一下几个json_decode()返回null的情况;
1.字符串应该是utf-8格式。
2.最后一个元素不能有逗号。
3.元素不能使用单引号
4.Bom头问题,有些编辑器会自动加上不可见的bom头字符,去除bom头方法
$json = trim($json,chr(239).chr(187).chr(191));