NodeJs读取JSON文件格式化时的注意事项


Posted in NodeJs onSeptember 25, 2016

进行NodeJs开发时偶然发现的一个雷点

正常情况下从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');
}
NodeJs 相关文章推荐
Nodejs如何复制文件
Mar 09 NodeJs
nodejs连接mysql数据库简单封装示例-mysql模块
Apr 10 NodeJs
nodejs入门教程二:创建一个简单应用示例
Apr 24 NodeJs
NodeJS创建最简单的HTTP服务器
May 15 NodeJs
详解HTTPS 的原理和 NodeJS 的实现
Jul 04 NodeJs
深入理解NodeJS 多进程和集群
Oct 17 NodeJs
NodeJs 文件系统操作模块fs使用方法详解
Nov 26 NodeJs
Nodejs实现的操作MongoDB数据库功能完整示例
Feb 02 NodeJs
Nodejs对postgresql基本操作的封装方法
Feb 20 NodeJs
NodeJs之word文件生成与解析的实现代码
Apr 01 NodeJs
使用nodejs分离html文件里的js和css详解
Apr 12 NodeJs
Nodejs中使用puppeteer控制浏览器中视频播放功能
Aug 26 NodeJs
nodejs微信公众号支付开发
Sep 19 #NodeJs
nodeJs内存泄漏问题详解
Sep 05 #NodeJs
浅谈Nodejs应用主文件index.js
Aug 28 #NodeJs
NodeJS远程代码执行
Aug 28 #NodeJs
用NodeJS实现批量查询地理位置的经纬度接口
Aug 16 #NodeJs
使用nodejs中httpProxy代理时候出现404异常的解决方法
Aug 15 #NodeJs
NodeJs的优势和适合开发的程序
Aug 14 #NodeJs
You might like
php生成随机密码的三种方法小结
2010/09/04 PHP
PHP获取url的函数代码
2011/08/02 PHP
JoshChen_php新手进阶高手不可或缺的规范介绍
2013/08/16 PHP
php快速排序原理与实现方法分析
2016/05/26 PHP
php设计模式之职责链模式定义与用法经典示例
2019/09/19 PHP
用javascript实现改变TEXTAREA滚动条和按钮的颜色,以及怎样让滚动条变得扁平
2007/04/20 Javascript
js 加载时自动调整图片大小
2008/05/28 Javascript
jQuery 1.5 源码解读 面向中高阶JSER
2011/04/05 Javascript
js将json格式的对象拼接成复杂的url参数方法
2016/05/25 Javascript
javascript设计模式之module(模块)模式
2016/08/19 Javascript
Javascript之面向对象--方法
2016/12/02 Javascript
jQuery实现CheckBox全选、全不选功能
2017/01/11 Javascript
JavaScript 总结几个提高性能知识点(推荐)
2017/02/20 Javascript
jQuery动画_动力节点节点Java学院整理
2017/07/04 jQuery
vue内置组件transition简单原理图文详解(小结)
2018/07/12 Javascript
Vue项目中最新用到的一些实用小技巧
2018/11/06 Javascript
JavaScript继承的特性与实践应用深入详解
2018/12/30 Javascript
如何将百度地图包装成Vue的组件的方法步骤
2019/02/12 Javascript
基于ssm框架实现layui分页效果
2019/07/27 Javascript
解决vue-cli 打包后自定义动画未执行的问题
2019/11/12 Javascript
vue中的v-model原理,与组件自定义v-model详解
2020/08/04 Javascript
python使用mailbox打印电子邮件的方法
2015/04/30 Python
pytorch masked_fill报错的解决
2020/02/18 Python
Python函数基本使用原理详解
2020/03/19 Python
python matplotlib模块基本图形绘制方法小结【直线,曲线,直方图,饼图等】
2020/04/26 Python
Python打印特殊符号及对应编码解析
2020/05/07 Python
解决keras模型保存h5文件提示无此目录问题
2020/07/01 Python
python 统计list中各个元素出现的次数的几种方法
2021/02/20 Python
详解Html5 Canvas画线有毛边解决方法
2018/03/01 HTML / CSS
Ray-Ban雷朋瑞典官方网站:全球领先的太阳眼镜品牌
2019/08/22 全球购物
ASICS印度官方网站:日本专业运动品牌
2020/06/20 全球购物
文秘应届生求职信
2014/07/05 职场文书
党员证明信
2015/06/19 职场文书
CAD实训总结范文
2015/08/03 职场文书
教师个人教学反思
2016/02/23 职场文书
JavaScript 定时器详情
2021/11/11 Javascript