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 相关文章推荐
golang、python、php、c++、c、java、Nodejs性能对比
Mar 12 NodeJs
跟我学Nodejs(三)--- Node.js模块
May 25 NodeJs
NodeJS实现阿里大鱼短信通知发送
Jan 17 NodeJs
详谈Angular路由与Nodejs路由的区别
Mar 05 NodeJs
nodejs入门教程一:概念与用法简介
Apr 24 NodeJs
在Debian(Raspberry Pi)树莓派上安装NodeJS的教程详解
Sep 19 NodeJs
Nodejs+angularjs结合multiparty实现多图片上传的示例代码
Sep 29 NodeJs
Nodejs 和 Electron ubuntu下快速安装过程
May 04 NodeJs
基于nodejs的微信JS-SDK简单应用实现
May 21 NodeJs
使用nodeJS中的fs模块对文件及目录进行读写,删除,追加,等操作详解
Feb 06 NodeJs
nodejs各种姿势断点调试的方法
Jun 18 NodeJs
Nodejs环境实现socket通信过程解析
Jul 03 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网上商城购物车设计代码分享
2012/02/15 PHP
PHP关于htmlspecialchars、strip_tags、addslashes的解释
2014/07/04 PHP
PHP防止sql注入小技巧之sql预处理原理与实现方法分析
2019/12/13 PHP
javascript demo 基本技巧
2009/12/18 Javascript
JavaScript 高级篇之DOM文档,简单封装及调用、动态添加、删除样式(六)
2012/04/07 Javascript
一个页面元素appendchild追加到另一个页面元素的问题
2013/01/27 Javascript
全面解析Bootstrap手风琴效果
2020/04/17 Javascript
基于RequireJS和JQuery的模块化编程——常见问题全面解析
2016/04/14 Javascript
Bootstrap4一次重大更新 几乎涉及每行代码
2016/05/16 Javascript
移动端jQuery修正Web页面滑动时div问题的两则实例
2016/05/30 Javascript
bootstrap table实例详解
2017/01/06 Javascript
JavaScript实现QQ聊天消息展示和评论提交功能
2017/05/22 Javascript
Angularjs中数据绑定的实例详解
2017/08/25 Javascript
vue-lazyload图片延迟加载插件的实例讲解
2018/02/09 Javascript
解决Angular2 router.navigate刷新页面的问题
2018/08/31 Javascript
VueJS 组件参数名命名与组件属性转化问题
2018/12/03 Javascript
微信小程序时间标签和时间范围的联动效果
2019/02/15 Javascript
基于html+css+js实现简易计算器代码实例
2020/02/28 Javascript
vue键盘事件点击事件加native操作
2020/07/27 Javascript
详解Python import方法引入模块的实例
2017/08/02 Python
python的构建工具setup.py的方法使用示例
2017/10/23 Python
深入浅析Python中的yield关键字
2018/01/24 Python
tensorflow saver 保存和恢复指定 tensor的实例讲解
2018/07/26 Python
python虚拟环境完美部署教程
2019/08/06 Python
Python使用scipy模块实现一维卷积运算示例
2019/09/05 Python
python中的socket实现ftp客户端和服务器收发文件及md5加密文件
2020/04/01 Python
Python利用matplotlib绘制散点图的新手教程
2020/11/05 Python
纯CSS3实现3D旋转书本效果
2016/03/21 HTML / CSS
利用html5 canvas动态画饼状图的示例代码
2018/04/02 HTML / CSS
HTML5 Canvas图像模糊完美解决办法
2018/02/06 HTML / CSS
DKNY品牌官网:纽约大都会时尚风格
2016/10/20 全球购物
巴西儿童时尚购物网站:Dinda
2019/08/14 全球购物
Athleta官网:购买女士瑜伽服、技术运动服和休闲运动服
2020/11/12 全球购物
大学新闻系应届生求职信
2014/06/02 职场文书
数控专业毕业生求职信
2014/06/12 职场文书
商业企业管理专业求职信
2014/07/10 职场文书