javascript - 解析大型 JSON 失败

标签 javascript node.js json parsing jsonparser

我有一个很大的 JSON 文件,包含约 220k 条记录,大小为 223MB。我可以使用名为 Huge JSON Viewew 的程序打开 JSON,这意味着该文件结构良好,但在解析时显示错误。


const fs = require("fs");

const rawdata = fs.readFileSync("jsonFile.json");
let inproceedings = JSON.parse(rawdata);

它显示的错误:

undefined:1
��[
^

SyntaxError: Unexpected token � in JSON at position 0
    at JSON.parse (<anonymous>)
    at Object.<anonymous> (C:\Users\HP\Desktop\DATA\script\jsonFile.js:6:26)
?[90m    at Module._compile (internal/modules/cjs/loader.js:936:30)?[39m
?[90m    at Object.Module._extensions..js (internal/modules/cjs/loader.js:947:10)?[39m
?[90m    at Module.load (internal/modules/cjs/loader.js:790:32)?[39m
?[90m    at Function.Module._load (internal/modules/cjs/loader.js:703:12)?[39m
?[90m    at Function.Module.runMain (internal/modules/cjs/loader.js:999:10)?[39m
?[90m    at internal/main/run_main_module.js:17:11?[39m
PS C:\Users\HP\Desktop\DATA\script>

最佳答案

问题是,当您读取文件时,它会作为缓冲区读取。读取时使用utf-8编码 [https://nodejs.org/api/fs.html#fs_fs_readfilesync_path_options ]

const rawdata = fs.readFileSync("jsonFile.json",{encoding: 'utf-8'});
let inproceedings = JSON.parse(rawdata);

关于javascript - 解析大型 JSON 失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58275999/

相关文章:

javascript - 类型错误 : Cannot set property '' of undefined

javascript - 如何在 html Canvas 上找到三 Angular 形的面积?

javascript - NodeJs 对每个返回的 MySql 结果对象执行操作

node.js - Google Sheet API,需要但未指定 'valueInputOption'

javascript - 打印时更改页面大小

javascript - Moment.js 本地相对时间

javascript - 组件名称需要以大写字母开头?

c# - Json.Net 结合序列化的 2 个属性

json - PayPal 智能按钮向我返回 JSON 错误

python - 改进对 Twitter 查询的列表理解