当前位置: 首页 > 编程笔记 >

NodeJs读取JSON文件格式化时的注意事项

钱季
2023-03-14
本文向大家介绍NodeJs读取JSON文件格式化时的注意事项,包括了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');
}
 类似资料:
  • fscanf() 和 fprintf() 函数与前面使用的 scanf() 和 printf() 功能相似,都是格式化读写函数,两者的区别在于 fscanf() 和 fprintf() 的读写对象不是键盘和显示器,而是磁盘文件。 这两个函数的原型为: fp 为文件 指针,format 为格式控制字符串,... 表示参数列表。与 scanf() 和 printf() 相比,它们仅仅多了一个 fp 参

  • 问题内容: 我有一个fortran程序会生成未格式化的文件,并且正在尝试将它们读入Python。 我有源代码,因此我知道第一个“块”是的字符数组,依此类推。所以我开始 并且是一个80长度的元组,由长度为1的字符串组成;其中一些内容是十六进制字符串(例如)。如何将这个变量转换为单个ascii字符串? 问题答案: 大多数Fortran未格式化文件将包含额外的字节来指定记录的长度。记录是用单个Fortr

  • 本文向大家介绍C#读取csv格式文件的方法,包括了C#读取csv格式文件的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了C#读取csv格式文件的方法。分享给大家供大家参考。具体实现方法如下: 一、CSV文件规则   1 开头是不留空,以行为单位。 2 可含或不含列名,含列名则居文件第一行。 3 一行数据不跨行,无空行。 4 以半角逗号(即,)作分隔符,列为空也要表达其存在。 5 列内

  • 本文向大家介绍ASP VBScrip读取JSON格式数据,包括了ASP VBScrip读取JSON格式数据的使用技巧和注意事项,需要的朋友参考一下 ASP代码读取JSON个数数据需要一个 json2.js 脚本,文件地址:https://raw.github.com/douglascrockford/JSON-js/master/json2.js。 下载 json2.js 文件,保存在自己的服务器

  • 问题内容: 我是Python的新手,正在从头开始用Python编写可视化代码(以避免使用昂贵的专有程序,如IDL)。到目前为止,我一直使用IDL和gnuplot。我想要做的是这样的: 我使用fortran将二维数组写入未格式化的直接访问文件,我希望能够在python中读取该数组。确切的测试代码如下。实际的代码是巨大的并行代码,但是数据输出几乎完全相同。 该程序应该给我t = 1的零和增加t值的“孤

  • 本文向大家介绍nodejs读取并去重excel文件,包括了nodejs读取并去重excel文件的使用技巧和注意事项,需要的朋友参考一下 如何使用,直接上代码 解析一下 node-xlsx导出的数据结构如下: 以上就是小编整理的全部内容,很多时候我们用到对EXCEL的文件操作,大家在测试的时候如还有任何疑问可以在下面的留言区讨论,感谢大家对呐喊教程的支持。