Json_decode 解析json字符串为NULL的解决方法(必看)

从APP端或从其他页面post,get过来的数据一般因为数组形式。因为数组形式不易传输,所以一般都会转json后再发送。本以为发送方json_encode(),接收方json_decode(),就解决的问题,结果发现,json_decode()后是NULL。

一般会反应是少了一个参数“true”,但是回去看就是 json_decode($data,true); 那怎么还会是NULL呢?难道是编码,不会啊,接收后直接打印是一个完整json字符串的形式,在网上json解析网站,也是可以正常解析的。

那这是怎么回事呢? 其实是编码转译的问题。

用下面的方法可以实现正确解析。

$data = stripslashes(html_entity_decode($info)); //$info是传递过来的json字符串
$data = json_decode($data,TRUE);

这时候$data就是解析后的数组了!

html_entity_decode() 函数的作用是把 HTML 实体转换为字符。
stripslashes() 函数的作用是删除反斜杠。

以上这篇Json_decode 解析json字符串为NULL的解决方法(必看)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • PHP处理Json字符串解码返回NULL的解决方法

    本文实例讲述了PHP处理Json字符串解码返回NULL的解决方法.分享给大家供大家参考之用.具体方法如下: 一般来说,php对json字符串解码使用json_decode()函数,第一个参数传字符串,第二个参数若为true,返回array:若为false,返回object.如果返回NULL,说明报错,输出json_last_error(),得到的整数值对应错误提示.如下图所示: json_last_error()比较常见的是整数4, 是json字符串在json_decode之前已不完整,所以语法

  • 有关json_decode乱码及NULL的问题

    具体内容请看下文吧. 写接口的同学应该会经常遇到数据格式的转换,这时候必不可少的两个函数就是json_encode()和json_decode(). 这两个函数使用的时候有很多的主要事项,在这里我来说一下json_decode(). json_decode(): 对JSON 格式的字符串进行解码,接受一个JSON 格式的字符串并且把它转换为 PHP 变量. (1)将数据转换成数组之后,打印会显示NUll: 原因之一json_decode只支持utf-8. iconv('gbk','utf-8',

  • php解析http获取的json字符串变量总是空白null

    今天同事项目中遇到一个问题,通过http接口获取的json字符串使用json_decode始终无法正确解析,返回空白. 直接把结果字符串复制出来手动创建一个变量却正常,在前端js也能解析,搞了半天不得其解,借助强大的谷歌解决了问题,答案是接口吐出的结果包含有BOM头,BOM头这个东西可谓是php的死敌啊 不说了,直接上解决办法: 复制代码 代码如下: if (substr($return, 0,3) == pack("CCC",0xef,0xbb,0xbf)) {     $retur

  • Json_decode 解析json字符串为NULL的解决方法(必看)

    从APP端或从其他页面post,get过来的数据一般因为数组形式.因为数组形式不易传输,所以一般都会转json后再发送.本以为发送方json_encode(),接收方json_decode(),就解决的问题,结果发现,json_decode()后是NULL. 一般会反应是少了一个参数"true",但是回去看就是 json_decode($data,true); 那怎么还会是NULL呢?难道是编码,不会啊,接收后直接打印是一个完整json字符串的形式,在网上json解析网站,也是可以正常

  • Golang解析JSON遇到的坑及解决方法

    目录 写在前面 空指针会被解析成字符串"null" int类型会被解析成float64 写在前面 在写go的时候经常用到序列化.反序列化,记录一下遇到过的坑. 空指针会被解析成字符串"null" type Person struct { Name string Age int } func main() { var p *Person bytes, err := json.Marshal(p) checkError(err) fmt.Printf("len

  • Java内存各部分OOM出现原因及解决方法(必看)

    一,jvm内存区域 1,程序计数器 一块很小的内存空间,作用是当前线程所执行的字节码的行号指示器. 2,java栈 与程序计数器一样,java栈(虚拟机栈)也是线程私有的,其生命周期与线程相同.通常存放基本数据类型,对象引用(一个指向对象起始地址的引用指针或一个代表对象的句柄),reeturnAddress类型(指向一条字节码指令的地址) 栈区域有两种异常类型:如果线程请求的栈深度大于虚拟机所允许的深度,将抛StrackOverflowError异常:如果虚拟机栈可以动态扩展(大部分虚拟机都可动

  • Oracle触发器表发生了变化 触发器不能读它的解决方法(必看)

    出现原因,是因为在更新的的表和读取的表是同一个表. CREATE or replace TRIGGER T_userupdateT BEFORE update ON T_user REFERENCING OLD AS old NEW AS N_ROW FOR EACH ROW DECLARE U_xtfidemp1 varchar(36); u_xtempcode1 varchar(20); u_xtempcodeCount int:=0; U_xtfidempCount int:=0; u_i

  • js数字舍入误差以及解决方法(必看篇)

    1.起因: 返回结果是true. 2.原因:计算机的二进制实现和位数限制有些数无法有限表示.就像一些无理数不能有限表示,如 圆周率 3.1415926...,1.3333... 等.JS 遵循 IEEE 754 规范,采用双精度存储(double precision),占用 64 bit. 3.解决方法 (1)toFixed(),存在兼容性(chrome) (2)比较稳妥方法(数字如果过大,也会有误差): *JS 中能精准表示的最大整数是 Math.pow(2, 53),十进制即 9007199

  • 关于ssh连不上问题的解决方法(必看)

    问题:能ping通Linux服务器 但是ssh连不上 <Linux redhat AS4 版本> 解决方法这个问题花了我20分钟去查资料,网上写的解决方法也是五花八门,不过,总算解决了,分享出来和大家一起学习. 服务器正常,PING也能PING通.但是就是SSH连不上啊,出现这种问题,最大的可能就是防火墙没有关闭. 解决方法: 一.开启SSH 以root用户登录Linux,打开终端,运行: /etc/init.d/sshd restrat 二.关闭防火墙 1.在终端运行 setup 2.选择

  • Android 文件夹显示红色叹号的解决方法(必看)

    有感叹号,说明有的文件损坏或丢失了 解决方法: 右击工程,Build Path..->Configure Build Path...->Java Build Path 可以看到引用的jar包,看看是不是带x了 不用的话就移除,要用的引用回正确路径就可以了 以上这篇Android 文件夹显示红色叹号的解决方法(必看)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们.

  • 对象不支持indexOf属性或方法的解决方法(必看)

    var divarr = ["a","b","c","d"]; 判断divarr 数组中是否存在a divarr.indexOf("a")==-1    在ie8下会提示对象不支持indexOf属性或方法 解决办法: 用jquery里的$.inArray替代indexOf $.inArray("a", divarr)==-1 以上这篇对象不支持indexOf属性或方法的解决方法(必看)就

  • thrift安装遇到的问题以及解决方法(必看篇)

    1. 必须安装boost.最新的稳定版是1.48.0. 1.1.先下载:http://sourceforge.NET/projects/boost/files/boost/1.48.0/          选择tar.gz包,     下载后我解压到了/usr/local/boost_1_48下:tar zxvf boost1.48.0 -C /usr/local/boost_1_48 1.2.安装过程和以前的老版本有些不同,看自带软件包里的index.html就可以了: 主要内容涉及到安装的就

  • redirect_uri参数错误的解决方法(必看)

    今天做微信开发时候出现了redirect uri 参数错误.百度了一下.原来是Oauth授权域名没有填写 再授权域名中,填写自己用到的域名即可. 以上这篇redirect_uri参数错误的解决方法(必看)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们.

随机推荐