Как я могу проанализировать большой файл JSON с повторяющимися значениями в JavaScript? - PullRequest
1 голос
/ 04 октября 2019

Я анализирую большой файл 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) {});

    // })
}


...