node JSON.parse json文件报错

     在项目中遇到一个fs.readFileSync读取json文件后,发现缺无法JSON.parse,会发现如下的报错

 

   一开始以为是我的json文件数据有误,找了一些线上的校验工具,也没发现任何错误,后来寻求到他人的帮助,在读取json文件做如下的代码处

    let pluginsConfig

    if (fs.existsSync(pluginsPath)) {
        pluginsConfig = readText(pluginsPath)
    }
   
    //如果json配置有中文字符无法解析,需要这一段
   function readText(pathname) {
        var bin = fs.readFileSync(pathname);
        //核心在此
        if (bin[0] === 0xEF && bin[1] === 0xBB && bin[2] === 0xBF) {
            bin = bin.slice(3);
        }
        return bin.toString('utf-8');
    }
   试了以上方法后,确实有效
posted @ 2022-02-14 14:58  chackson  阅读(352)  评论(0)    收藏  举报