json_decode要求的字符串比较严格:
(1)使用UTF-8编码
(2)不能在最后元素有逗号
(3)不能使用单引号
(4)不能有\r,\t,如果有请替换
因此,返回NULL的情况还不少,这个得靠大家写代码的时候多多细心。本文要讲的是我从POST获取的JSON格式的字符串,我确保字符串打印出来,看起来没有任何错误,但是json_decode就是返回NULL。这个奇葩的问题,在网上找了很久,有些网友说是字符集的问题,我测试确认后不是,那到底是什么问题呢?
(1)首先,想到的是,查看到底是什么原因导致的返回值是NULL。PHP提供了json_last_error()和json_last_error_msg()两个函数返回json_decode()函数解析JSON字符串失败的错误代号和错误信息。打印这两个错误信息,获取到:
json_last_error(),打印值为”4“;json_last_error_msg()打印值为”syntax error“。
意思是,错误代号为4,错误信息为”语法错误“。
————————————————
版权声明:本文为CSDN博主「南极娃娃鱼」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/wangyuchun_799/java/article/details/49450705
(文章今日已有 1 人访问,总访问量 33 ::>_<::)