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的10个性能优化技巧
Jul 15 NodeJs
Windows系统中安装nodejs图文教程
Feb 28 NodeJs
nodeJS删除文件方法示例
Dec 25 NodeJs
深入理解Nodejs Global 模块
Jun 03 NodeJs
详解使用PM2管理nodejs进程
Oct 24 NodeJs
nodejs发送http请求时遇到404长时间未响应的解决方法
Dec 10 NodeJs
nodejs npm错误Error:UNKNOWN:unknown error,mkdir 'D:\Develop\nodejs\node_global'at Error
Mar 02 NodeJs
nodejs实现UDP组播示例方法
Nov 04 NodeJs
Nodejs实现微信分账的示例代码
Jan 19 NodeJs
Nodejs 数组的队列以及forEach的应用详解
Feb 25 NodeJs
使用 Koa + TS + ESLlint 搭建node服务器的过程详解
May 30 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
图书管理程序(一)
2006/10/09 PHP
yii2 commands模式以及配置crontab定时任务的方法
2017/08/19 PHP
html5+javascript制作简易画板附图
2014/04/25 Javascript
基于JavaScript创建动态Dom
2015/12/08 Javascript
jQuery绑定事件on()与弹窗的简要概述
2016/04/27 Javascript
JavaScript实现阿拉伯数字和中文数字互相转换
2016/06/12 Javascript
JS中innerHTML和pasteHTML的区别实例分析
2016/06/22 Javascript
jquery实现静态搜索功能(可输入搜索文字)
2017/03/28 jQuery
Node.js利用js-xlsx处理Excel文件的方法详解
2017/07/05 Javascript
浅谈通过JS拦截 pushState和replaceState事件
2017/07/21 Javascript
vue-cli+webpack项目 修改项目名称的方法
2018/02/28 Javascript
小程序兼容安卓和IOS数据处理问题及坑
2018/09/18 Javascript
vue中$nextTick的用法讲解
2019/01/17 Javascript
[51:28]EG vs Mineski 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/16 DOTA
Python下的subprocess模块的入门指引
2015/04/16 Python
python实现井字棋游戏
2020/03/30 Python
浅谈五大Python Web框架
2017/03/20 Python
python对日志进行处理的实例代码
2018/10/06 Python
Python并行分布式框架Celery详解
2018/10/15 Python
python实现五子棋小程序
2019/06/18 Python
解决pyqt5中QToolButton无法使用的问题
2019/06/21 Python
python 实现在无序数组中找到中位数方法
2020/03/03 Python
浅谈TensorFlow之稀疏张量表示
2020/06/30 Python
AT&T Wireless:手机、无限数据计划和配件
2018/06/03 全球购物
化石印度尼西亚在线商店:Fossil Indonesia
2019/03/11 全球购物
写出SQL四条最基本的数据操作语句(DML)
2012/12/12 面试题
银行门卫岗位职责
2013/12/29 职场文书
教师档案管理制度
2014/01/23 职场文书
揭牌仪式策划方案
2014/05/28 职场文书
今冬明春火灾防控工作方案
2014/05/29 职场文书
空气的环保标语
2014/06/12 职场文书
医德医魂心得体会
2014/09/11 职场文书
幼儿园2016年圣诞活动总结
2016/03/31 职场文书
Python爬虫实战之爬取京东商品数据并实实现数据可视化
2021/06/07 Python
JUnit5常用注解的使用
2021/07/02 Java/Android
使用javascript解析二维码的三种方式
2021/11/11 Javascript