json_decode结果为null的解决方法

来源:互联网 发布:nba2k14卢比奥面部数据 编辑:程序博客网 时间:2024/06/09 22:58

json_decode结果为null的解决方法

传参数时,有时需要传数组,但是数组不方便传输,所以通常会转化为json串传输。接收到参数需要用json_decode处理。

json_decode的语法

mixed json_decode ( string json[,boolassoc = false [, int depth=512[,intoptions = 0 ]]] )

需要注意

  • 此函数仅适用于UTF-8编码的字符串
  • assoc默认为false时,返回objects,如果需要返回数组格式,需要设置为true

举个例子:

 
$json = '{"a":1,"b":2}';
var_dump(json_decode($json));
var_dump(json_decode($json, true));

结果为:

 
object(stdClass)#1 (2){
["a"] => int(1)
["b"] => int(2)
}
array(2){
["a"] => int(1)
["b"] => int(2)
}

问题:

运行过程中,可以正常返回数组,但是有出现结果为null的情况。

排查过程:

  • 打印出接收的参数,发现是完整的json串

  • 在json解析网站上可以返回正常的数组值

解决方案:

原因:参数在传递过程进行了编码转译导致的。

info=stripslashes(htmlentitydecode(json));

info=jsondecode(info,true);

html_entity_decode()函数:把HTML实体转换成一些预定义的字符。html_entity_decode() 函数是 htmlentities() 函数的反函数。

stripslashes() 函数删除由 addslashes() 函数添加的反斜杠。该函数可用于清理从数据库中或者从 HTML 表单中取回的数据。

经过这样的处理,可以得到正常的数组数据

阅读全文
0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 电脑开机后屏幕出现英文怎么办 小米4开不开机了怎么办 小米4一直显示mi怎么办 小米手机开关键失灵怎么办 小米手机开机键失灵怎么办 小米6不断重启怎么办 小米6一直重启怎么办 小米6自动重启怎么办 手机的开机键坏了怎么办 小米6频繁重启怎么办 小米6安装xp卡米怎么办 刷机失败反复重启怎么办 红米手机很卡怎么办啊 红米2a显示图标怎么办 手机一直处于开机状态怎么办 vivo手机进水开不了机怎么办 魅蓝s6锁了怎么办 pos机刷卡刷多了怎么办 红米5a开不机怎么办 魅族双亲要密码怎么办? 苹果wi-fi网速慢怎么办 腾达宽带用户名密码忘了怎么办 无线网秘密忘了怎么办 wan口设置已断开怎么办 中兴手机忘记解锁图案怎么办 u盘显示参数错误怎么办 硬盘vc加密密码忘了怎么办 软件文件移动到其他盘打不开怎么办 u盘无法复制文件怎么办 u盘大文件不能拷怎么办 abc看图打印不了怎么办 百度云大文件慢怎么办 手机视频缩略图加载失败怎么办 电脑突然卡住不动了怎么办 word文档被锁住了怎么办 手机qq磁盘已满怎么办 不小心格式化了硬盘怎么办 移动硬盘插上显示要格式化怎么办 微信网络特别慢怎么办 苹果六网速太慢怎么办 小米手机wifi网速慢怎么办