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的url截取模块url-extract的使用实例
Nov 18 NodeJs
Nodejs异步回调的优雅处理方法
Sep 25 NodeJs
nodejs 提示‘xxx’ 不是内部或外部命令解决方法
Nov 20 NodeJs
用NodeJS实现批量查询地理位置的经纬度接口
Aug 16 NodeJs
Nodejs进阶:核心模块net入门学习与实例讲解
Nov 21 NodeJs
nodejs进阶(6)—连接MySQL数据库示例
Jan 07 NodeJs
nodejs实现的简单web服务器功能示例
Mar 15 NodeJs
Nodejs Express 通过log4js写日志到Logstash(ELK)
Aug 30 NodeJs
nodejs基础之多进程实例详解
Dec 27 NodeJs
搭建一个nodejs脚手架的方法步骤
Jun 28 NodeJs
nodejs开发一个最简单的web服务器实例讲解
Jan 02 NodeJs
浅谈JS和Nodejs中的事件驱动
May 05 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
模仿OSO的论坛(二)
2006/10/09 PHP
修改了一个很不错的php验证码(支持中文)
2007/02/14 PHP
php基于curl主动推送最新内容给百度收录的方法
2016/10/14 PHP
php对xml文件的增删改查操作实现方法分析
2017/05/19 PHP
PHP重置数组为连续数字索引的几种方式总结
2018/03/12 PHP
驱动事件的addEvent.js代码
2007/03/27 Javascript
XML的代替者----JSON
2007/07/21 Javascript
javascript白色简洁计算器
2015/05/04 Javascript
使用CDN和AJAX加速WordPress中jQuery的加载
2015/12/05 Javascript
深入理解关于javascript中apply()和call()方法的区别
2016/04/12 Javascript
简单解析JavaScript中的__proto__属性
2016/05/10 Javascript
ES6中Array.includes()函数的用法
2017/09/20 Javascript
Vue+webpack项目基础配置教程
2018/02/12 Javascript
node.js爬取中关村的在线电瓶车信息
2018/11/13 Javascript
JQuery常见节点操作实例分析
2019/05/15 jQuery
详解element-ui中表单验证的三种方式
2019/09/18 Javascript
Javascript异步执行不按顺序解决方案
2020/04/30 Javascript
基于原生js实现判断元素是否有指定class名
2020/07/11 Javascript
微信小程序input抖动问题的修复方法
2021/03/03 Javascript
python3简单实现微信爬虫
2015/04/09 Python
Python图像灰度变换及图像数组操作
2016/01/27 Python
Python手机号码归属地查询代码
2016/05/04 Python
Python将多个excel文件合并为一个文件
2018/01/03 Python
python将字符串list写入excel和txt的实例
2019/07/20 Python
pycharm中显示CSS提示的知识点总结
2019/07/29 Python
Python使用type动态创建类操作示例
2020/02/29 Python
关于HTML5 Placeholder新标签低版本浏览器下不兼容的问题分析及解决办法
2016/01/27 HTML / CSS
卡塔尔航空官方网站:Qatar Airways
2017/02/08 全球购物
印度服装购物网站:Limeroad
2018/09/26 全球购物
财务分析个人的自荐书范文
2013/11/24 职场文书
大学生职业规划范文:象牙塔生活的四年计划
2014/01/14 职场文书
党支部对照检查材料
2014/08/25 职场文书
感谢信
2019/04/11 职场文书
导游词之杭州西湖
2019/09/19 职场文书
JavaScript 防篡改对象的用法示例
2021/04/24 Javascript
HTML+CSS 实现顶部导航栏菜单制作
2021/06/03 HTML / CSS