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 Stream 数据流使用手册
Apr 17 NodeJs
nodejs使用express创建一个简单web应用
Mar 31 NodeJs
深入理解Nodejs Global 模块
Jun 03 NodeJs
nodejs 如何手动实现服务器
Aug 20 NodeJs
nodejs遍历文件夹下并操作HTML/CSS/JS/PNG/JPG的方法
Nov 01 NodeJs
nodejs二进制与Buffer的介绍与使用
Jul 11 NodeJs
Nodejs libuv运行原理详解
Aug 21 NodeJs
NodeJS 文件夹拷贝以及删除功能
Sep 03 NodeJs
Nodejs文件上传、监听上传进度的代码
Mar 27 NodeJs
浅谈使用nodejs搭建web服务器的过程
Jul 20 NodeJs
NodeJS开发人员常见五个错误理解
Oct 14 NodeJs
详解nodejs内置模块
May 06 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
利用浏览器的Javascript控制台调试PHP程序
2014/01/08 PHP
php使用百度翻译api示例分享
2014/01/31 PHP
php二维数组转成字符串示例
2014/02/17 PHP
php将print_r处理后的数据还原为原始数组的解决方法
2016/11/02 PHP
php使用array_chunk函数将一个数组分割成多个数组
2018/12/05 PHP
PHP架构及原理知识点详解
2019/12/22 PHP
JavaScript中Array 对象相关的几个方法
2006/12/22 Javascript
js树形控件脚本代码
2008/07/24 Javascript
jquery 圆形旋转图片滚动切换效果
2011/01/19 Javascript
用js实现判断当前网址的来路如果不是指定的来路就跳转到指定页面
2011/05/02 Javascript
不同的jQuery API来处理不同的浏览器事件
2012/12/09 Javascript
利用JS解决ie6不支持max-width,max-height问题的方法
2014/01/02 Javascript
avalonjs制作响应式瀑布流特效
2015/05/06 Javascript
jquery不常用方法汇总
2015/07/26 Javascript
Javascript中内建函数reduce的应用详解
2016/10/20 Javascript
js实现刷新页面后回到记录时滚动条的位置【两种方案可选】
2016/12/12 Javascript
jQuery Raty星级评分插件使用方法实例分析
2019/11/25 jQuery
微信小程序以ssm做后台开发的实现示例
2020/04/08 Javascript
[42:23]完美世界DOTA2联赛PWL S3 Forest vs Rebirth 第二场 12.10
2020/12/13 DOTA
Python实现向QQ群成员自动发邮件的方法
2014/11/19 Python
python实现超简单端口转发的方法
2015/03/13 Python
Python序列操作之进阶篇
2016/12/08 Python
python简单区块链模拟详解
2019/07/03 Python
如何基于Python获取图片的物理尺寸
2019/11/25 Python
keras K.function获取某层的输出操作
2020/06/29 Python
Python爬虫爬取微博热搜保存为 Markdown 文件的源码
2021/02/22 Python
html5本地存储 localStorage操作使用详解
2016/09/20 HTML / CSS
html5中使用hotcss.js实现手机端自适配的方法
2020/04/23 HTML / CSS
Nanushka官网:匈牙利服装品牌
2019/08/14 全球购物
万代美国官网:PREMIUM BANDAI USA
2020/09/11 全球购物
经济管理毕业生求职信
2014/03/15 职场文书
信访稳定工作汇报
2014/10/27 职场文书
2015年小学生暑假总结
2015/07/13 职场文书
一文帮你理解PReact10.5.13源码
2021/04/03 Javascript
PyMongo 查询数据的实现
2021/06/28 Python
教你使用VS Code的MySQL扩展管理数据库的方法
2022/01/22 MySQL