node读写json文件(进阶)(node 读取json)-pg电子平台

大家好!今天让小编来大家介绍下关于node读写json文件(进阶)的问题,以下是酷知号的小编对此问题的归纳整理,让我们一起来看看吧。

该方法可用于通过调接口的方式修改配置文件。步骤如下:

创建一个json格式的文件,如:test1.json,内容就是一个json,如:{“name”:”li”}
通过fs.readfile()读取到test1.json后,将内容转为json格式
修改完成后再转回字符串格式
保存修改(就是用修改后的完整内容覆盖修改前的内容,包括没改的部分)

代码

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文件(进阶)问题和相关问题的解答了,node读写json文件(进阶)的问题希望对你有用!

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文链接:https://www.andon8.com/421737.html

网站地图