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 sublime text 3安装与配置
Jun 19 NodeJs
nodejs之请求路由概述
Jul 05 NodeJs
基于NodeJS的前后端分离的思考与实践(五)多终端适配
Sep 26 NodeJs
Nodejs实现的一个静态服务器实例
Dec 06 NodeJs
NodeJS使用formidable实现文件上传
Oct 27 NodeJs
Nodejs实现短信验证码功能
Feb 09 NodeJs
Nodejs回调加超时限制两种实现方法
Jun 09 NodeJs
nodejs实现连接mongodb数据库的方法示例
Mar 15 NodeJs
NodeJS如何实现同步的方法示例
Aug 24 NodeJs
nodejs require js文件入口,在package.json中指定默认入口main方法
Oct 10 NodeJs
nodejs实现百度舆情接口应用示例
Feb 07 NodeJs
浅谈JS和Nodejs中的事件驱动
May 05 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实现html标签闭合检测与修复方法
2015/07/09 PHP
PHP+Mysql+Ajax实现淘宝客服或阿里旺旺聊天功能(前台页面)
2017/06/16 PHP
PHP多线程模拟实现秒杀抢单
2018/02/07 PHP
Javascript的getYear、getFullYear、getUTCFullYear异同分享
2011/11/30 Javascript
IE8对JS通过属性和数组遍历解析不一样的地方探讨
2013/05/06 Javascript
Javascript window对象详解
2014/11/12 Javascript
js实现键盘控制DIV移动的方法
2015/01/10 Javascript
jQuery学习笔记之jQuery中的$
2015/01/19 Javascript
Shell脚本实现Linux系统和进程资源监控
2015/03/05 Javascript
微信小程序 Image API实例详解
2016/09/30 Javascript
Web前端开发之水印、图片验证码
2016/11/27 Javascript
JavaScript中匿名函数的递归调用
2017/01/22 Javascript
jQuery选择器之属性过滤选择器详解
2017/09/28 jQuery
Vue响应式原理深入解析及注意事项
2017/12/11 Javascript
react-native使用leanclound消息推送的方法
2018/08/06 Javascript
javscript 数组扁平化的实现
2020/02/03 Javascript
vue动态加载SVG文件并修改节点数据的操作代码
2020/08/17 Javascript
python多线程threading.Lock锁用法实例
2014/11/01 Python
python基于itchat实现微信群消息同步机器人
2017/02/27 Python
Python之re操作方法(详解)
2017/06/14 Python
一份python入门应该看的学习资料
2018/04/11 Python
Python实现获取本地及远程图片大小的方法示例
2018/07/21 Python
python3 xpath和requests应用详解
2020/03/06 Python
pandas读取csv文件提示不存在的解决方法及原因分析
2020/04/21 Python
python cookie反爬处理的实现
2020/11/01 Python
英国户外服装、鞋类和设备的领先零售商:Millets
2020/10/12 全球购物
邮政员工辞职信
2014/01/16 职场文书
项目建议书格式
2014/03/12 职场文书
工作所在部门证明
2014/09/21 职场文书
小学趣味运动会加油稿
2014/09/25 职场文书
房屋租赁协议书(标准版)
2014/10/02 职场文书
2014年公路养护工作总结
2014/12/04 职场文书
个人简历求职信范文
2015/03/20 职场文书
2015年乡镇发展党员工作总结
2015/03/31 职场文书
文明礼貌主题班会
2015/08/14 职场文书
JavaScript严格模式不支持八进制的问题讲解
2021/11/07 Javascript