Разобрать весь объект с помощью 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);