Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/394.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在大型JSON中解析失败_Javascript_Node.js_Json_Parsing_Jsonparser - Fatal编程技术网

Javascript 在大型JSON中解析失败

Javascript 在大型JSON中解析失败,javascript,node.js,json,parsing,jsonparser,Javascript,Node.js,Json,Parsing,Jsonparser,我有一个很大的JSON文件,有大约220k条记录,大小为223MB。我可以用一个名为巨型JSON视图的程序打开JSON,这意味着该文件结构良好,但在解析时会显示错误 const fs = require("fs"); const rawdata = fs.readFileSync("jsonFile.json"); let inproceedings = JSON.parse(rawdata); 它显示的错误是: undefined:1 ��[ ^ SyntaxError: Unexpe

我有一个很大的JSON文件,有大约220k条记录,大小为223MB。我可以用一个名为巨型JSON视图的程序打开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编码 []


谢谢你的回答,但不幸的是,我仍然得到同样的错误!我还有另一个文件,有110k条记录,我可以毫无问题地解析它。你能不能控制台.lograwdata,看看它是否是一个JSON字符串?我在开始时就得到了这两个奇怪的字符��. 我检查了JSON文件,但它们不在那里。我可以从原始数据中删除前两个字符,但我真的很好奇它们是如何结束的!您的文件可能存在您不期望的错误。
const rawdata = fs.readFileSync("jsonFile.json",{encoding: 'utf-8'});
let inproceedings = JSON.parse(rawdata);