1

我有一个传入的 JSON 数据对象结构,如下所示:

{
    foo: 3,
    bar: [
             {
                 key:value
             },
             {
                 key:value
             }
         ]
}

我想以一种方式对待 foo,并禁止另一种方式。但是当我在对象上使用 JSONStream.parse("*") 时,它收到的第一个块是“3”。

由于数据对象非常小,我希望流媒体返回整个对象,然后我将对其进行操作。不过,我仍然想使用流与项目的其余部分保持一致。如何强制 JSONStream 给我整个对象?

4

1 回答 1

1

有点晚了,但我设法做到了:

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);
于 2018-08-15T11:11:56.570 回答