如何在JavaScript中解析具有重复值的大型JSON文件?
我正在使用JSON流解析一个大型JSON文件。这可以工作,但它会逐行返回文件。因此,当我尝试重新构造数据时,我只能得到不重复的数据 例如,这是结构:如何在JavaScript中解析具有重复值的大型JSON文件?,javascript,json,stream,jsonstream,Javascript,Json,Stream,Jsonstream,我正在使用JSON流解析一个大型JSON文件。这可以工作,但它会逐行返回文件。因此,当我尝试重新构造数据时,我只能得到不重复的数据 例如,这是结构: { "Test": { "id": 3454534344334554345434, "details": { "text": "78679786787" }, "content": { "text": 56756676765677
{
"Test": {
"id": 3454534344334554345434,
"details": {
"text": "78679786787"
},
"content": {
"text": 567566767656776
},
"content": {
"text": 567566767656776
},
"content": {
"text": 567566767656776
}
}
}
我可以获取Test.id
或Test.details.id
但每行只能获取第一个Test.content
我尝试在数组中设置,但仍然只得到Test.content
的第一行
除了使用JSONStream,还有其他方法可以转换大文件吗
解析代码:
var getStream = function () {
let stream = fs.createReadStream(path.join(__dirname, '../test.json'), {
encoding: 'utf8'
}),
parser = JSONStream.parse('*.Test')
return stream.pipe(parser);
};
getStream()
.pipe(es.mapSync(function (data) {
let dataObj = []
dataObj.push(data)
processData(dataObj)
}))
function processData(d) {
let js = JSON.parse(JSON.stringify(d))
console.log(js)
// js.forEach(function (value, index) {
// Object.keys(value).forEach(function (v, i) {});
// })
}
评论不用于扩展讨论;此对话已结束。评论不用于扩展讨论;这段对话已经结束。