如何从许多json键解析数组内部的值

时间:2019-06-24 11:49:27

标签: node.js json typescript

我在按请求正文的第一个键和最后一个键获取值时遇到问题。

这是我的请求正文:

{
    "A": [
        {
            "filter": [
                {"a": "a"}
            ]
        },
        {
            "group": [
                {"a": "a"}
            ]
        }
    ],
    "B": [
        {
            "filter": [
                {"a": "a"}
            ]
        },
        {
            "group": [
                {"a": "a"}  
            ]
        }
    ], ...
}

如何获取值json键,因为它有很多json键,并且是json键的数组值。之后,我想从许多JSON键值中解析过滤器和组的值。

谢谢

1 个答案:

答案 0 :(得分:0)

如果我理解正确,那么您正在寻找这样的东西:

Object.entries(json).reduce((acc, [key, value]) => {
  acc.filter.push(...value[0].filter);
  acc.group.push(...value[1].group);
  return acc;
}, {filter: [], group: []})

根据您的编译器选项,这应该可以解决问题:

const res = Object.entries(json).reduce((acc, [key, value]) => {
  acc.filter = acc.filter.concat(value[0].filter);
  acc.group = acc.group.concat(value[1].group);
  return acc;
}, {filter: <any>[], group: <any>[]});

这里是fiddle