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 相关文章推荐
PHPStorm 2020.1 调试 Nodejs的多种方法详解
Sep 17 NodeJs
NodeJS的模块写法入门(实例代码)
Mar 07 NodeJs
nodejs中操作mysql数据库示例
Dec 20 NodeJs
nodejs事件的监听与触发的理解分析
Feb 12 NodeJs
nodejs调用cmd命令实现复制目录
May 04 NodeJs
用nodejs搭建websocket服务器
Jan 23 NodeJs
nodejs基础应用
Feb 03 NodeJs
nodejs实现邮件发送服务实例分享
Mar 29 NodeJs
nodejs个人博客开发第五步 分配数据
Apr 12 NodeJs
Windows下快速搭建NodeJS本地服务器的步骤
Aug 09 NodeJs
详解nodejs 配置文件处理方案
Jan 02 NodeJs
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实现批量查询清除一句话后门的代码
2008/01/20 PHP
Smarty分页实现方法完整实例
2016/05/11 PHP
PHP对称加密函数实现数据的加密解密
2016/10/27 PHP
php微信开发之关注事件
2018/06/14 PHP
PHP使用 Pear 进行安装和卸载包的方法详解
2019/07/08 PHP
php如何实现数据库的备份和恢复
2020/11/30 PHP
Aster vs Newbee BO5 第三场2.19
2021/03/10 DOTA
JavaScript高级程序设计 读书笔记之八 Function类及闭包
2012/02/27 Javascript
jQuery中noConflict()用法实例分析
2015/02/08 Javascript
javascript中加var和不加var的区别 你真的懂吗
2016/01/06 Javascript
基于Bootstrap实现图片轮播效果
2016/05/22 Javascript
移动端界面的适配
2017/01/11 Javascript
xmlplus组件设计系列之树(Tree)(9)
2017/05/02 Javascript
Vue组件模板形式实现对象数组数据循环为树形结构(实例代码)
2017/07/31 Javascript
微信小程序图片轮播组件gallery slider使用方法详解
2018/01/31 Javascript
webpack将js打包后的map文件详解
2018/02/22 Javascript
echarts实现词云自定义形状的示例代码
2019/02/20 Javascript
微信小程序如何连接Java后台
2019/08/08 Javascript
vue 动态组件用法示例小结
2020/03/06 Javascript
javascript利用键盘控制小方块的移动
2020/04/20 Javascript
[13:21]DOTA2国际邀请赛采访专栏:RSnake战队国士无双,Fnatic.Fly
2013/08/06 DOTA
windows系统下Python环境搭建教程
2017/03/28 Python
Python语言描述随机梯度下降法
2018/01/04 Python
Python编程argparse入门浅析
2018/02/07 Python
python 提取tuple类型值中json格式的key值方法
2018/12/31 Python
python读取ini配置文件过程示范
2019/12/23 Python
浅谈keras中自定义二分类任务评价指标metrics的方法以及代码
2020/06/11 Python
CSS3只让背景图片旋转180度的实现示例
2021/03/09 HTML / CSS
使用html5 canvas创建太空游戏的示例
2014/05/08 HTML / CSS
德国隐形眼镜店:LuckyLens
2018/07/29 全球购物
描述RIP和OSPF区别以及特点
2015/01/17 面试题
领导班子四风对照检查材料思想汇报
2014/09/26 职场文书
采购员岗位职责
2015/02/03 职场文书
2016年第104个国际护士节活动总结
2016/04/06 职场文书
读鲁迅先生的经典名言
2019/08/20 职场文书
Python循环之while无限迭代
2022/04/30 Python