ホームページ >php教程 >php手册 >php的json_decode函数返回null的问题

php的json_decode函数返回null的问题

WBOY
WBOYオリジナル
2016-06-02 09:14:031935ブラウズ

php5.2以后自带json_decode函数,但是对json文本串的格式要求非常严格,如果我们稍有一点不注意很可能使用该函数得到的返回值是NULL了,今天我就碰到此问题下面一起来看看.

可以使用使用json_last_error()函数获取到的返回值来帮助我们判断出问题的原因,其中如果提示错误JSON_ERROR_SYNTAX(Syntax error),表示json串格式错误.

可以通过以下几个方式排错:

1. json字符串必须以双引号包含,代码如下:

$output = str_replace("'", '"', $output);

2. json字符串必须是utf8编码,代码如下:

$output = iconv('gbk', 'utf8', $output);

3.不能有多余的逗号,如:[1,2,]

用正则替换掉,preg_replace('/,s*([]}])/m', '$1', $output)


教程网址:

欢迎收藏∩_∩但请保留本文链接。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。