NodeJs读取JSON文件格式化时的注意事项
作者:lopcomvir 发布时间:2024-05-02 17:37:03
标签:NodeJs,读取JSON
进行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');
}
0
投稿
猜你喜欢
- MySQL 5.7安装、升级笔记分享:卸载当前的 MySQL查看当前 MySQL 版本:[root@coderknock ~]# mysql
- HTTP_X_FORWARDED_FOR与REMOTE_ADDR的区别.在Request.ServerVariables中并没有HTTP_X
- 你好,%用户名%!我叫Alex,我在机器学习和网络图分析(主要是理论)有所涉猎。我同时在为一家俄罗斯移动运营商开发大数据产品。这是我第一次在
- 第一种方式: $(document).ready(function(){ $("#clickme").click(fun
- 目录简介创建ndarrayndarray的属性ndarray中元素的类型转换ndarray的数学运算index和切片基本使用index wi
- 需求:查询出满足3人及3案有关系的集合# -*- coding: utf-8 -*-from py2neo import Graphimpo
- 介绍该数独可能只填充了部分数字,其中缺少的数字用 . 表示。注意事项一个合法的数独(仅部分填充)并不一定是可解的。我们仅需使填充的空格有效即
- Oracle Tips, Tricks & Scripts1. Topic: Compiling Invalid Objects:O
- 1.安装Apachea) 双击文件Apach_2.2.8_win32-x86-no_ssl.msi,弹出欢迎界面。单NEXT按钮,进入到Li
- 在 Go 中,有几种不同的方法来检查一个值是null还是empty。您应该使用的具体方法取决于您正在检查的值的类型。例如,如果你正在检查一个
- 1 索引索引概念索引是一种特殊的文件,包含着对数据表里所有记录的引用指针。可以对表中的一列或多列创建索引,并指定索引的类型,各类索引有各自的
- 作为一个从 PHP 转 Java 的人,发现 alibaba 的 arthas 很好用。通过 arthas 的 redefine 命令,可以
- 1 引言在进行图像处理过程中,我们经常会遇到一些和物体轮廓相关的操作,比如求目标轮廓的周长面积等,我们直接使用Opencv的findCont
- 本文实例讲述了mysql游标的原理与用法。分享给大家供大家参考,具体如下:本文内容:什么是游标创建游标使用游标首发日期:2018-04-18
- 函数原型pd.read_csv(filepath_or_buffer, sep=',', delimiter=None, h
- 使用Django框架搭建后端服务器,后台接收前端传递过来xlsx的文件,直接将前端传递的文件转化为DataFrame或直接将文件保存。url
- 先简单的了解下日期和时间数据类型及工具python标准库包含于日期(date)和时间(time)数据的数据类型,datetime、time以
- 如何自动更新导航栏?下面看看如何具体使用Content Linking组件: <&nbs
- 先看一段HTML代码,在下边这段代码中,这张图片的宽度未知,我想写在CSS中写一行限制最大宽度为50px:<div id=&
- 今天分享的这篇文章,文字不多,代码为主。绝对干货,童叟无欺,主要分享了提升 Python 性能的 20 个技巧,教你如何告别慢Python。