【问题标题】:Mapping json object with a schema in nodejs在nodejs中使用模式映射json对象
【发布时间】:2018-04-12 06:57:09
【问题描述】:

我正在使用 nodejs。

我遇到以下问题 -

有一个非常大的 json 对象,我想将其映射到具有特定格式的小得多的对象,稍后我将使用该对象。

我想要有特定的模式,我可以在那个大对象上使用它们,每个模式都有自己的用途。我希望能够通过这些模式自定义结构,别无他法。

我正在寻找一个可以帮助我的图书馆。

我通过 npm 找到了一个叫做 deep-map。

https://www.npmjs.com/package/deep-map

我玩了一会儿,它似乎满足了我的基本需求。

但我还需要做一些更复杂的映射。

一个简化的例子 -

"testObj": { "myArr": [ {"type": "x", name:"test1"}, {"type": "y", name:"test2"}] }

我只需要在myArr 中查找type 等于x 的名称。 所以基本上我需要某种for每个循环和if之间的术语。

由于 deep-map 使用 lodash/template 我想也许有一种方法可以使用 lodash 的功能来解决这个问题,但到目前为止我还没有找到如何结合这两者(lodash + deep-map)来解决更多问题复杂的映射。

我也欢迎其他可能帮助我解决这个问题的库。

【问题讨论】:

标签: json node.js mapping lodash


【解决方案1】:

Lodash 有一个at method 可以处理这种简单的情况。它允许您指定 field.subfieldThatsAnArray[1].subsubfield 之类的内容并获取值。

对于更少的“内置”解决方案,这里也有一些有趣的技术:

还有其他一些,但 JSONPath 在空间中的其他一些地方使用,并且 SelectTransform 看起来很酷。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-12-08
    • 2018-07-09
    • 2018-11-02
    • 2019-05-27
    • 2013-01-26
    • 1970-01-01
    • 1970-01-01
    • 2018-08-18
    相关资源
    最近更新 更多