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极简入门教程(三):进程
Oct 27 NodeJs
详谈nodejs异步编程
Dec 04 NodeJs
nodejs和php实现图片访问实时处理
Jan 05 NodeJs
Nodejs+Socket.io实现通讯实例代码
Feb 13 NodeJs
使用vs code开发Nodejs程序的使用方法
Sep 21 NodeJs
nodejs实现简单的gulp打包
Dec 21 NodeJs
nodejs基于express实现文件上传的方法
Mar 19 NodeJs
NodeJS实现同步的方法
Mar 02 NodeJs
Nodejs核心模块之net和http的使用详解
Apr 02 NodeJs
nodeJs的安装与npm全局环境变量的配置详解
Jan 06 NodeJs
Nodejs + Websocket 指定发送及群聊的实现
Jan 09 NodeJs
NodeJS配置CORS实现过程详解
Dec 02 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
session在php5.3中的变化 session_is_registered() is deprecated in
2013/11/12 PHP
php站内搜索关键词变亮的实现方法
2014/12/30 PHP
PHP商品秒杀问题解决方案实例详解【mysql与redis】
2019/07/22 PHP
js右键菜单效果代码
2007/07/21 Javascript
在IE和VB中支持png图片透明效果的实现方法(vb源码打包)
2011/04/01 Javascript
JS操作iframe里的dom(实例讲解)
2014/01/29 Javascript
AngularJS实现网站换肤实例
2021/02/19 Javascript
原生js实现可拖动的登录框效果
2017/01/21 Javascript
Vue学习笔记进阶篇之过渡状态详解
2017/07/14 Javascript
以BootStrap Tab为例写一个前端组件
2017/07/25 Javascript
vue+mockjs模拟数据实现前后端分离开发的实例代码
2017/08/08 Javascript
vue2.0 下拉框默认标题设置方法
2018/08/22 Javascript
JavaScript find()方法及返回数据实例
2020/04/30 Javascript
让IDE识别webpack的别名alias的实现方法
2020/05/06 Javascript
JavaScript中继承原理与用法实例入门
2020/05/09 Javascript
微信小程序实现拨打电话功能的示例代码
2020/06/28 Javascript
vue-cli3项目打包后自动化部署到服务器的方法
2020/09/16 Javascript
vue大型项目之分模块运行/打包的实现
2020/09/21 Javascript
python中numpy基础学习及进行数组和矢量计算
2017/02/12 Python
对pandas进行数据预处理的实例讲解
2018/04/20 Python
Python如何筛选序列中的元素的方法实现
2019/07/15 Python
对Django中的权限和分组管理实例讲解
2019/08/16 Python
tensorflow实现二维平面模拟三维数据教程
2020/02/11 Python
初学者学习Python好还是Java好
2020/05/26 Python
image-set实现Retina屏幕下图片显示详细介绍
2012/12/24 HTML / CSS
国家地理在线商店:Shop National Geographic
2018/06/30 全球购物
Spartoo荷兰:鞋子、包包和服装
2018/07/12 全球购物
.NET常见笔试题集
2012/12/01 面试题
社区工作感言
2014/02/21 职场文书
一帮一活动总结
2014/05/08 职场文书
2014年重阳节敬老活动方案
2014/09/16 职场文书
2015年助理政工师工作总结
2015/05/26 职场文书
可怜妈妈观后感
2015/06/09 职场文书
图书借阅制度范本
2015/08/06 职场文书
浅谈Python numpy创建空数组的问题
2021/05/25 Python
解决ubuntu安装软件时,status-code=409报错的问题
2022/12/24 Servers