gpt4 book ai didi

json - 使用 JSONPath 和 JSONStream 解析 json 流

转载 作者:太空宇宙 更新时间:2023-11-03 21:56:20 26 4
gpt4 key购买 nike

我有一个像这样的数据流:

{"foo": 1} {"bar": 2}

注意:这些 map 之间没有逗号。

我想在node.js中读取这个流,以便我可以捕获两个 map ,如上所示。我一直在尝试使用 JSONStream 来做到这一点,它擅长识别流中的离散 JSON 实体,但会稍微改变数据。所以我正在运行的代码是:

var jsonStream = require('JSONStream');
var es = require('event-stream');

var parser = jsonStream.parse('$*');
process.stdin.pipe(parser)
.pipe(es.mapSync(function (data) {
console.log(data);
}));

输出:

{ value: 1, key: 'foo' }
{ value: 2, key: 'bar' }

我希望它输出未更改的 JSON 映射:

{"foo": 1}
{"bar": 2}

有人知道我如何使用 JSONStream 或其他东西来实现这一点吗?

最佳答案

看起来 JSONStream 超出了解决这个问题所需的范围,它在幕后使用了 jsonparse,所以我的问题的解决方案是:

var Parser = require('jsonparse');

var parser = new Parser();
process.stdin.on("readable", function () {
var chunk = process.stdin.read();
if (chunk) {
parser.write(chunk);
}
});

parser.onValue = function (v) {
if (this.stack.length === 0) {
console.log(v);
}
};

关于json - 使用 JSONPath 和 JSONStream 解析 json 流,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39736627/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com