如何解析一个非常大的错误保存的JSON文件来修复它

sdnqo3pr  于 2023-03-31  发布在  其他
关注(0)|答案(1)|浏览(136)

我正在处理一个大约有一百万个项目的大数据集,并使用流从数据库中转储。然而,我错误地错过了指示json数组的开始和结束框括号,并只是推送了没有它的对象。
现在的问题是,我想修复JSON文件,使其可由软件处理,但由于文件大小(20.01 GB),我得到缓冲区和内存问题(预期由于大小)。有没有办法修复此文件?
PS:我不想在数据库上再次运行这样一个大而昂贵的查询以获得新的转储。

当前文件数据语法:

{ "name": "aaron", age: 21 },{ "name": "jen", age: 26 }

文件中数据的预期语法:

[{ "name": "aaron", age: 21 },{ "name": "jen", age: 26 }]
kmynzznz

kmynzznz1#

如果您只需要在前端和后端加上括号,请使用cat

echo '[' > fixed.json
cat broken.json >> fixed.json
echo ']' >> fixed.json

显然,你可以在Node中做同样的事情,通过阅读文件流,并相应地给输出加上前缀和后缀。因为这听起来像是一个一次性的错误,快速修复可能是更合适的方法。

相关问题