问题描述
**
php获取文件的内容明明是json字符串,但当使用json_decode时发现总是返回null
查找原因
使用print_r(json_last_error())返回也是没问题。突然想到会不会是读取的文件的格式原因,将被读取的文件转换为utf-8无bom格式之后发现可以将json字符串转换成数组,到这里说明原因大概率是存在dom。
解决问题
使用trim($content, “\xEF\xBB\xBF”);去除掉内容中的dom然后再转数组,就会发现成功了
$content=file_get_contents($filePath);//读取文件内容
$content=trim($content, "\xEF\xBB\xBF");//去除bom
$content_arr=json_decode($content,true);//转成数组