可以使用使用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)