我有一个传入的JSON数据对象结构,如下所示:
{
foo: 3,
bar: [
{
key:value
},
{
key:value
}
]
}
我想用一种方式对待foo,而用另一种方式。但是当我在对象上使用JSONStream.parse("*")时,它接收到的第一个块是"3"。
由于数据对象很小,我希望拖缆返回整个对象,然后我会对其进行操作。不过,我仍然希望使用流来与项目的其余部分保持一致。如何强制JSONStream将整个对象提供给我?
有点晚了,但我已经做到了:
let obj = {foo:{}, bar:[]}
const fooStream = JSONStream.parse(["foo", true]);
fooStream.on("data", (data)=>{obj.foo = data;})
const barStream = JSONStream.parse(["bar", true]);
barStream.on("data", (data)=>{obj.bar.push(data);})
_some_stream.pipe(fooStream);
_some_stream.pipe(barStream);