PHP json_decode返回null解析失败原因
2016-02-24 00:00
701 查看
摘要: 原文:http://www.phpddt.com/php/json_decode-bom.html
在PHP5.4之前 json_decode函数有两个参数json_decode有两个参数,第一个是待解析的字符串,第二个是是否解析为Array
json_decode要求的字符串比较严格:
(1)使用UTF-8编码
(2)不能在最后元素有逗号
(3)不能使用单引号
(4)不能有\r,\t,如果有请替换
所以问题来了,不小心在返回的json字符串中返回了BOM头的不可见字符,某些编辑器默认会加上BOM头,如下处理才能正确解析json数据:
1.$result = json_decode(trim($contents,chr(239).chr(187).chr(191)),true)
2.print_r($result);
在PHP5.4之前 json_decode函数有两个参数json_decode有两个参数,第一个是待解析的字符串,第二个是是否解析为Array
json_decode要求的字符串比较严格:
(1)使用UTF-8编码
(2)不能在最后元素有逗号
(3)不能使用单引号
(4)不能有\r,\t,如果有请替换
所以问题来了,不小心在返回的json字符串中返回了BOM头的不可见字符,某些编辑器默认会加上BOM头,如下处理才能正确解析json数据:
1.$result = json_decode(trim($contents,chr(239).chr(187).chr(191)),true)
2.print_r($result);
相关文章推荐
- PHP 使用 header 跳转支付界面,传递不过参数
- PHP实现排序算法
- php分享二十四:数组
- PHP利用可变函数动态扩增类的属性
- PHP字符串的翻转_原生实现
- Yii2.0数据库操作(1)
- Mac 中PHP连接MySQL总是失败localhost修改成127.0.0.1解决
- PHP 简单的小偷程序
- php\symfony3 学习记录(一)创建第一个symfony项目
- ThinkPHP3.2.3 自定义标签库的使用
- PHP 安装包依赖关系管理工具Composer
- php操作mysql数据库
- php分享二十三:字符编码
- 容易混淆的知识点
- thinkphp_3.1.2查询和视图
- yii phpexcel自己主动生成文件保存到server上
- php可变参数
- 独特的php遍历数组的写法,reset(),next(),current()
- 优秀的PHP开源项目集合
- PHP面向对象开发,关于调用父类构造器的问题