php5.2以后自带json_decode函数,但是对json文本串的格式要求非常严格。 很可能使用该函数得到的返回值是NULL 使用json_last_error()函数获取到的返回值是JSON_ERROR_SYNTAX(Syntax error)。
可以通过以下几个方式排错。 1. json字符串必须以双引号包含 $output = str_replace("'", '"', $output)。
2. json字符串必须是utf8编码 $output = iconv('gbk', 'utf8', $output)。
3.不能有多余的逗号 如:[1,2,] 用正则替换掉,preg_replace('/,s*([]}])/m', '$1', $output)。