使用JSONStream.parse合并单个对象中的多个路径

时间:2017-12-21 09:41:32

标签: javascript json parsing stream jsonstream

经过stackoverflow的帮助后,这实际上是我第一次提出问题,所以如果我能做得更好,请不要犹豫纠正我。

我试图解析一个以这个结构为基础的流:

{
    ...
    "features":{
        ...
        "geometry": { "a": 1, "b":2...},
        "properties":{"x": "foo", "y": "bar"},
        ...
    }
    ...
}

对象(每个对象一个"功能")看起来像这样:

{
    "geometry": 
    { 
        "a": 1, 
        "b":2
        ...
    },
    "x": "foo",
    "y": "bar"
}

所以抓住"几何"及其深度,以及"属性"。现在,我的代码看起来像这样:

request(featuresUrl)
    .pipe(JSONStream.parse(['features', true, /properties|geometry/]))
    .pipe(index.defaultPipeline())
    .pipe(index.add())
    .on('finish', function() {
        console.log(`items loaded`);
        resolve();
    })

问题在于我有两个不同的索引对象,一个具有几何,另一个具有属性。我希望它是一个单一的对象,如果可能的话,两者都合并。

什么是最佳解决方案?要改变我解析JSONStream的方式?或者在.parse之后插入可以抓住两个对象并合并它们的东西?

0 个答案:

没有答案