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和PhantomJS抓取网站页面信息以及网站截图
Nov 18 NodeJs
Nodejs中读取中文文件编码问题、发送邮件和定时任务实例
Jan 01 NodeJs
Nodejs进阶:核心模块net入门学习与实例讲解
Nov 21 NodeJs
学习 NodeJS 第八天:Socket 通讯实例
Dec 21 NodeJs
浅谈Nodejs中的作用域问题
Dec 26 NodeJs
基于nodejs 的多页面爬虫实例代码
May 31 NodeJs
nodejs模块学习之connect解析
Jul 05 NodeJs
详解nodejs通过代理(proxy)发送http请求(request)
Sep 22 NodeJs
nodejs实现套接字服务功能详解
Jun 21 NodeJs
使用koa-log4管理nodeJs日志笔记的使用方法
Nov 30 NodeJs
NodeJs操作MongoDB教程之分页功能以及常见问题
Apr 09 NodeJs
详解利用nodejs对本地json文件进行增删改查
Sep 20 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
PHPMailer邮件类利用smtp.163.com发送邮件方法
2008/09/11 PHP
thinkphp5.0自定义验证规则使用方法
2017/11/16 PHP
PHP-FPM的配置与优化讲解
2019/03/15 PHP
PHP使用mysqli同时执行多条sql查询语句的实例
2019/03/22 PHP
laravel实现一个上传图片的接口,并建立软链接,访问图片的方法
2019/10/12 PHP
数据结构之利用PHP实现二分搜索树
2020/10/25 PHP
jQuery创建插件的代码分析
2011/04/14 Javascript
基于jQuery实现下拉框
2014/11/24 Javascript
JavaScript中的ArrayBuffer详细介绍
2014/12/08 Javascript
浅析JavaScript中的事件机制
2015/06/04 Javascript
Javascript的表单验证-初识正则表达式
2016/03/18 Javascript
41个Web开发者必须收藏的JavaScript实用技巧
2016/07/22 Javascript
微信小程序模板之分页滑动栏
2017/02/10 Javascript
JS库particles.js创建超炫背景粒子插件(附源码下载)
2017/09/13 Javascript
Vue.js递归组件实现组织架构树和选人功能
2019/07/04 Javascript
Vue 实现前端权限控制的示例代码
2019/07/09 Javascript
NodeJS http模块用法示例【创建web服务器/客户端】
2019/11/05 NodeJs
python中文乱码的解决方法
2013/11/04 Python
Python对两个有序列表进行合并和排序的例子
2014/06/13 Python
python的类方法和静态方法
2014/12/13 Python
django+xadmin+djcelery实现后台管理定时任务
2018/08/14 Python
PyQt4 treewidget 选择改变颜色,并设置可编辑的方法
2019/06/17 Python
详解Python并发编程之创建多线程的几种方法
2019/08/23 Python
Python接口自动化判断元素原理解析
2020/02/24 Python
解决pycharm编辑区显示yaml文件层级结构遇中文乱码问题
2020/04/27 Python
浅谈CSS3鼠标移入图片动态提示效果(transform)
2017/11/06 HTML / CSS
HTML5实现预览本地图片
2016/02/17 HTML / CSS
基于canvas的骨骼动画的示例代码
2018/06/12 HTML / CSS
中东奢侈品市场:Coveti
2019/05/12 全球购物
怎样写留学自荐信
2013/11/11 职场文书
酒店总经理欢迎词
2014/01/15 职场文书
预备党员入党自我评价范文
2014/03/10 职场文书
群众路线教育实践活动心得体会(教师)
2014/10/31 职场文书
2014年环保局工作总结
2014/12/11 职场文书
实习护士自荐信
2015/03/25 职场文书
Python 中的 copy()和deepcopy()
2021/11/07 Python