Я анализирую большой файл JSON, используя поток JSON. Это работает, но возвращает файл построчно. Поэтому, когда я пытаюсь реструктурировать данные, я могу получить только данные, которые не повторяются.
Например, это структура:
{
"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) {});
// })
}