1

我正在使用 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) {});

    // })
}


4

0 回答 0