码迷,mamicode.com
首页 > Web开发 > 详细

node读写json文件(进阶)

时间:2017-01-16 18:15:09      阅读:229      评论:0      收藏:0      [点我收藏+]

标签:配置文件   str   符号   class   文件读取   nod   二进制   pat   删除   

该方法可用于修改配置文件,直接上代码

fs.readFile(‘test1.json‘,‘utf8‘,function (err, data) {
        if(err) console.log(err);
        var test1=JSON.parse(data);
        test1.name="li";
        var t = JSON.stringify(test1);
        fs.writeFileSync(‘test1.json‘,t)
});

正常情况下从JSON文件读取到字符后再通过JSON.parse没什么问题,只要格式不出错。

有时在确保JSON格式正确时仍然会出现unexpected token异常

经过调查发现里面有不会显示的unicode字符

于是确定是UTF-8的问题,utf-8分有dom版和无dom版,一般编辑器不刻意设置会默认保存为带dom的utf8

解决办法是先将读到的文件转成二进制,然后检索dom符号删除

代码实现部分

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‘);
}

 

node读写json文件(进阶)

标签:配置文件   str   符号   class   文件读取   nod   二进制   pat   删除   

原文地址:http://www.cnblogs.com/jarvisjin/p/6290474.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!