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+express(4.x+)实现文件上传功能
Nov 23 NodeJs
nodejs如何获取时间戳与时间差
Aug 03 NodeJs
nodejs模块nodemailer基本使用-邮件发送示例(支持附件)
Mar 28 NodeJs
3分钟快速搭建nodejs本地服务器方法运行测试html/js
Apr 01 NodeJs
详解nodejs微信公众号开发——3.封装消息响应模块
Apr 10 NodeJs
mac下的nodejs环境安装的步骤
May 24 NodeJs
NodeJS 实现手机短信验证模块阿里大于功能
Jun 19 NodeJs
Nodejs之TCP服务端与客户端聊天程序详解
Jul 07 NodeJs
nodejs 图解express+supervisor+ejs的用法(推荐)
Sep 08 NodeJs
nodejs dgram模块广播+组播的实现示例
Nov 04 NodeJs
nodejs环境使用Typeorm连接查询Oracle数据
Dec 05 NodeJs
node快速搭建后台的实现步骤
Feb 18 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数组函数序列 之shuffle()和array_rand() 随机函数使用介绍
2011/10/29 PHP
php中常见的sql攻击正则表达式汇总
2014/11/06 PHP
PHP内核探索之解释器的执行过程
2015/12/22 PHP
php实现websocket实时消息推送
2018/03/30 PHP
基于jquery的获取mouse坐标插件的实现代码
2010/04/01 Javascript
用js来解决ajax读取页面乱码
2010/11/28 Javascript
jQuery判断密码强度实现思路及代码
2013/04/24 Javascript
jquery重复提交请求的原因浅析
2014/05/23 Javascript
Vue中的slot使用插槽分发内容的方法
2018/03/01 Javascript
[41:21]夜魇凡尔赛茶话会 第三期02:看图识人
2021/03/11 DOTA
[52:03]DOTA2-DPC中国联赛 正赛 Ehome vs iG BO3 第三场 1月31日
2021/03/11 DOTA
详解Python编程中包的概念与管理
2015/10/16 Python
Python tkinter模块中类继承的三种方式分析
2017/08/08 Python
python 设置文件编码格式的实现方法
2017/12/21 Python
Python3爬虫爬取百姓网列表并保存为json功能示例【基于request、lxml和json模块】
2018/12/05 Python
python进行TCP端口扫描的实现
2018/12/21 Python
Django之模型层多表操作的实现
2019/01/08 Python
python中的协程深入理解
2019/06/10 Python
用django-allauth实现第三方登录的示例代码
2019/06/24 Python
200行python代码实现2048游戏
2019/07/17 Python
Python爬虫入门有哪些基础知识点
2020/06/02 Python
Flask缓存静态文件的具体方法
2020/08/02 Python
Python tkinter实现日期选择器
2021/02/22 Python
Python页面加载的等待方式总结
2021/02/28 Python
中软国际Java程序员机试题
2012/08/19 面试题
大学生新闻专业个人自我评价
2013/11/12 职场文书
开办饭店创业计划书
2013/12/28 职场文书
医院护士的求职信
2014/01/03 职场文书
捐助倡议书
2015/01/19 职场文书
2015年初中生自我评价范文
2015/03/03 职场文书
关于观后感的作文
2015/06/18 职场文书
2016年感恩教师节校园广播稿
2015/12/18 职场文书
导游词之山西关帝庙
2019/11/01 职场文书
Nginx tp3.2.3 404问题解决方案
2021/03/31 Servers
Mysql 如何批量插入数据
2021/04/06 MySQL
CSS 实现Chrome标签栏的技巧
2021/08/04 HTML / CSS