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服务器(6):作出响应
Dec 18 NodeJs
nodejs 中模拟实现 emmiter 自定义事件
Feb 22 NodeJs
Nodejs实现短信验证码功能
Feb 09 NodeJs
NodeJS配置HTTPS服务实例分享
Feb 19 NodeJs
nodejs搭建本地http服务器教程
Mar 13 NodeJs
NodeJS测试框架mocha入门教程
Mar 28 NodeJs
nodejs 终端打印进度条实例代码
Apr 22 NodeJs
基于nodejs 的多页面爬虫实例代码
May 31 NodeJs
Nodejs中使用phantom将html转为pdf或图片格式的方法
Sep 18 NodeJs
nodejs 十六进制字符串型数据与btye型数据相互转换
Jul 30 NodeJs
搭建一个nodejs脚手架的方法步骤
Jun 28 NodeJs
NodeJs使用webpack打包项目的方法详解
Feb 28 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初学入门
2006/11/19 PHP
PHP Warning: PHP Startup: Unable to load dynamic library \ D:/php5/ext/php_mysqli.dll\
2012/06/17 PHP
利用浏览器的Javascript控制台调试PHP程序
2014/01/08 PHP
php日历制作代码分享
2014/01/20 PHP
SuperSlide标签切换、焦点图多种组合插件
2015/03/14 Javascript
JQuery中模拟image的ajaxPrefilter与ajaxTransport处理
2015/06/19 Javascript
javascript表格的渲染组件
2015/07/03 Javascript
封装属于自己的JS组件
2016/01/27 Javascript
Vue.js每天必学之组件与组件间的通信
2016/09/08 Javascript
Javascript 调用 ActionScript 的简单方法
2016/09/22 Javascript
JavaScript中省略元素对数组长度的影响
2016/10/26 Javascript
原生js实现瀑布流布局
2017/03/08 Javascript
详解微信小程序设置底部导航栏目方法
2017/06/29 Javascript
本地搭建微信小程序服务器的实现方法
2017/10/27 Javascript
解决Js先触发失去焦点事件再执行点击事件的问题
2018/08/30 Javascript
layui关闭弹窗后刷新主页面和当前更改项的例子
2019/09/06 Javascript
Python实现的文本对比报告生成工具示例
2018/05/22 Python
TensorFlow Session使用的两种方法小结
2018/07/30 Python
python利用Tesseract识别验证码的方法示例
2019/01/21 Python
python实现文件助手中查看微信撤回消息
2019/04/29 Python
复化梯形求积分实例——用Python进行数值计算
2019/11/20 Python
利用 Python ElementTree 生成 xml的实例
2020/03/06 Python
python 调用API接口 获取和解析 Json数据
2020/09/28 Python
阿玛尼美妆加拿大官方商城:Giorgio Armani Beauty加拿大
2017/10/24 全球购物
欧洲第一的摇滚和金属乐队服装网站:EMP
2017/10/26 全球购物
保险专业大专生求职信
2013/10/26 职场文书
应用心理学个人的求职信
2013/12/08 职场文书
班主任经验交流会主持词
2014/04/01 职场文书
1亿有多大教学反思
2014/05/01 职场文书
社保代办委托书怎么写
2014/10/06 职场文书
2015年小学语文教学工作总结
2015/05/25 职场文书
中学教代会开幕词
2016/03/04 职场文书
公司财务制度:成本管理控制制度模板
2019/11/19 职场文书
Python还能这么玩之用Python做个小游戏的外挂
2021/06/04 Python
MySQL数据库10秒内插入百万条数据的实现
2021/11/01 MySQL
Python实现科学占卜 让视频自动打码
2022/04/09 Python