json_encode返回NULL,json_last_error_msg给出“控制字符错误,可能编码错误”

时间:2014-06-19 17:22:29

标签: php json

阅读我的编辑器时文件看起来很好。

$file = file_get_contents('path/to/file.json');
$json =  json_decode($file, true);
var_dump($json); // null
echo json_last_error_msg(); //Control character error, possibly incorrectly encoded

此错误消息的含义并不多。

1 个答案:

答案 0 :(得分:7)

你可以删除control character,PCRE支持字符类[:cntrl:]的POSIX表示法

$json = preg_replace('/[[:cntrl:]]/', '', $json);
$json = json_decode($json, true);
var_dump($json);
echo json_last_error_msg();