Разобрать весь объект с помощью JSONStream.parse

У меня есть входящая структура данных JSON, как это:

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

Я хочу относиться к Фу с одной стороны, а с другой. Но когда я использую JSONStream.parse("*") для объекта, первый блок, который он получает, равен "3".

Поскольку объект данных довольно мал, я хочу, чтобы стример возвращал весь объект, а затем я им манипулирую. Я все еще хотел бы использовать потоки, чтобы соответствовать остальной части проекта все же. Как заставить JSONStream выдать мне весь объект?

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);
Другие вопросы по тегам