1

在从 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会抓住两个对象并合并它们?

4

0 回答 0