【问题标题】:Get list of values from several paths in json object从 json 对象中的多个路径获取值列表
【发布时间】:2017-07-17 06:02:34
【问题描述】:

我有一个包含多个嵌套层的数组和子对象的对象,我需要从中提取一些路径中的值。是否有一些库或本机功能可以帮助我做到这一点?我已经在使用 Lodash 和 jQuery,但很难弄清楚如何简化这个问题。

例子:

{
  a: [
    {
      b: 0,
      c: 1
    },
    {
      b: 1,
      c: 2
    }
  ]
}

现在我想获取所有a[0..n].b 的列表。

我的实际对象要大得多,并且有 3 层数组和类似 syn[0].sem[0].pdtb3_relation[0].sense 的路径,所以如果存在库函数,我宁愿不编写 3 个嵌套的 for 循环。

【问题讨论】:

  • 看看 lodash 的 get 函数。

标签: javascript jquery json lodash


【解决方案1】:

您可以使用forEach() 来遍历数组。

var o = {
  a: [
    {
      b: 0,
      c: 1
    },
    {
      b: 1,
      c: 2
    }
  ]
}

Object.keys(o).forEach(a => o[a].forEach(y => console.log(y.b)));

【讨论】:

  • 我真的很想知道为什么没有类似 jQuery 的库用于 JSON 对象中的路径,具有类似 XPath 的语法。 -.- 但是谢谢,这也很有帮助。
  • 很高兴为您提供帮助:)
猜你喜欢
  • 1970-01-01
  • 2018-12-19
  • 1970-01-01
  • 2016-10-12
  • 1970-01-01
  • 1970-01-01
  • 2021-05-31
  • 2015-02-11
  • 2016-01-18
相关资源
最近更新 更多