Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/429.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 按键过滤JSON_Javascript_Json_Function - Fatal编程技术网

Javascript 按键过滤JSON

Javascript 按键过滤JSON,javascript,json,function,Javascript,Json,Function,这是一种我可以通过名称和子节点名称过滤json并构建新输出json的方法 从上面的JSON中,我想过滤并构建下面的JSON: { "name": "Age", "code": "Age", "children": [{ "name": "Female", "code": "Age_Female", "children": [{

这是一种我可以通过名称和子节点名称过滤json并构建新输出json的方法

从上面的JSON中,我想过滤并构建下面的JSON:

{
        "name": "Age",
        "code": "Age",
        "children": [{
                "name": "Female",
                "code": "Age_Female",
                "children": [{
                    "name": "Female   Under 5 years",
                    "code": "Q012027",
                    "count": 242
                }, {
                    "name": "Female  5 to 13 years",
                    "code": "Q012028",
                    "count": 242
                }, {
                    "name": "Female 14 to 17 years",
                    "code": "Q012030",
                    "count": 242
                }, {
                    "name": "Female 18 to 21 years",
                    "code": "Q012031",
                    "count": 242
                }, {
                    "name": "Single Year",
                    "code": "FEMALE_SINGLE_YEAR",
                    "children": [{
                        "name": "Female Single Year Female   Under 1 year",
                        "code": "Q012A27",
                        "count": 242
                    }, {
                        "name": "Female Single Year Female  1 year",
                        "code": "Q012B27",
                        "count": 242
                    }, {
                        "name": "Female Single Year Female  2 years",
                        "code": "Q012C27",
                        "count": 242
                    }, {
                        "name": "Female Single Year Female  3 years",
                        "code": "Q012D27",
                        "count": 242
                    }, {
                        "name": "Female Single Year Female  4 years",
                        "code": "Q012E27",
                        "count": 242
                    }, {
                        "name": "Female Single Year Female  5 years",
                        "code": "Q012A28",
                        "count": 242
                    }, {
                        "name": "Female Single Year Female  6 years",
                        "code": "Q012B28",
                        "count": 242
                    }, {
                        "name": "Female Single Year Female  7 years",
                        "code": "Q012C28",
                        "count": 242
                    }, {
                        "name": "Female Single Year Female  8 years",
                        "code": "Q012D28",
                        "count": 242
                    }, {
                        "name": "Female Single Year Female  9 years",
                        "code": "Q012E28",
                        "count": 242
                    }, {
                        "name": "Female Single Year Female 10 years",
                        "code": "Q012F28",
                        "count": 242
                    }, {
                        "name": "Female Single Year Female 11 years",
                        "code": "Q012G28",
                        "count": 242
                    }, {
                        "name": "Female Single Year Female 12 years",
                        "code": "Q012H28",
                        "count": 242
                    }, {
                        "name": "Female Single Year Female 13 years",
                        "code": "Q012I28",
                        "count": 242
                    }, {
                        "name": "Female Single Year Female 14 years",
                        "code": "Q012A30",
                        "count": 242
                    }, {
                        "name": "Female Single Year Female 15 years",
                        "code": "Q012B30",
                        "count": 242
                    }, {
                        "name": "Female Single Year Female 16 years",
                        "code": "Q012C30",
                        "count": 242
                    }, {
                        "name": "Female Single Year Female 17 years",
                        "code": "Q012D30",
                        "count": 242
                    }, {
                        "name": "Female Single Year Female 18 years",
                        "code": "Q012A31",
                        "count": 242
                    }, {
                        "name": "Female Single Year Female 19 years",
                        "code": "Q012B31",
                        "count": 242
                    }, {
                        "name": "Female Single Year Female 20 years",
                        "code": "Q012C31",
                        "count": 242
                    }, {
                        "name": "Female Single Year Female 21 years",
                        "code": "Q012D31",
                        "count": 242
                    }]
                }, {
                    "name": "Female 22 to 24 years",
                    "code": "Q012033",
                    "count": 242
                }, {
                    "name": "Female 25 to 29 years",
                    "code": "Q012035",
                    "count": 242
                }, {
                    "name": "Female 30 to 34 years",
                    "code": "Q012036",
                    "count": 242
                }, {
                    "name": "Female 35 to 39 years",
                    "code": "Q012037",
                    "count": 242
                }, {
                    "name": "Female 40 to 44 years",
                    "code": "Q012038",
                    "count": 242
                }, {
                    "name": "Female 45 to 49 years",
                    "code": "Q012039",
                    "count": 242
                }, {
                    "name": "Female 50 to 54 years",
                    "code": "Q012040",
                    "count": 242
                }, {
                    "name": "Female 55 to 59 years",
                    "code": "Q012041",
                    "count": 242
                }, {
                    "name": "Female 60 to 64 years",
                    "code": "Q012042",
                    "count": 242
                }, {
                    "name": "Female 65 to 69 years",
                    "code": "Q012044",
                    "count": 242
                }, {
                    "name": "Female 70 to 74 years",
                    "code": "Q012046",
                    "count": 242
                }, {
                    "name": "Female 75 to 79 years",
                    "code": "Q012047",
                    "count": 242
                }, {
                    "name": "Female 80 to 84 years",
                    "code": "Q012048",
                    "count": 242
                }, {
                    "name": "Female 85 years plus",
                    "code": "Q012049",
                    "count": 242
                }, {
                    "name": "Female 18 years plus",
                    "code": "Q0120F_18P",
                    "count": 242
                }, {
                    "name": "Aggregate Age Female",
                    "code": "Q013B_3",
                    "count": 242
                }, {
                    "name": "Female Average Age",
                    "code": "Q013B_3AV",
                    "count": 242
                }, {
                    "name": "Female Median Age",
                    "code": "R013B_3MD",
                    "count": 242
                }]
            }, {
                "name": "Male",
                "code": "Age_Male",
                "children": [{
                    "name": "Aggregate Age Male",
                    "code": "Q013B_2",
                    "count": 242
                }, {
                    "name": "Male   Under 5 years",
                    "code": "Q012003",
                    "count": 242
                }, {
                    "name": "Male  5 to 13 years",
                    "code": "Q012004",
                }, {
                    "count": 242
                    "name": "Single Year",
                    "code": "MALE_SINGLE_YEAR",
                    "children": [{
                        "name": "Male Single Year Male   Under 1 year",
                        "code": "Q012A03",
                        "count": 242
                    }, {
                        "name": "Male Single Year Male  1 year",
                        "code": "Q012B03",
                        "count": 242
                    }, {
                        "name": "Male Single Year Male  2 years",
                        "code": "Q012C03",
                        "count": 242
                    }, {
                        "name": "Male Single Year Male  3 years",
                        "code": "Q012D03",
                        "count": 242
                    }, {
                        "name": "Male Single Year Male  4 years",
                        "code": "Q012E03",
                        "count": 242
                    }, {
                        "name": "Male Single Year Male  5 years",
                        "code": "Q012A04",
                        "count": 242
                    }, {
                        "name": "Male Single Year Male  6 years",
                        "code": "Q012B04",
                        "count": 242
                    }, {
                        "name": "Male Single Year Male  7 years",
                        "code": "Q012C04",
                        "count": 242
                    }, {
                        "name": "Male Single Year Male  8 years",
                        "code": "Q012D04",
                        "count": 242
                    }, {
                        "name": "Male Single Year Male  9 years",
                        "code": "Q012E04",
                        "count": 242
                    }, {
                        "name": "Male Single Year Male 10 years",
                        "code": "Q012F04",
                        "count": 242
                    }, {
                        "name": "Male Single Year Male 11 years",
                        "code": "Q012G04",
                        "count": 242
                    }, {
                        "name": "Male Single Year Male 12 years",
                        "code": "Q012H04",
                        "count": 242
                    }, {
                        "name": "Male Single Year Male 13 years",
                        "code": "Q012I04",
                        "count": 242
                    }, {
                        "name": "Male Single Year Male 14 years",
                        "code": "Q012A06",
                        "count": 242
                    }, {
                        "name": "Male Single Year Male 15 years",
                        "code": "Q012B06",
                        "count": 242
                    }, {
                        "name": "Male Single Year Male 16 years",
                        "code": "Q012C06",
                        "count": 242
                    }, {
                        "name": "Male Single Year Male 17 years",
                        "code": "Q012D06",
                        "count": 242
                    }, {
                        "name": "Male Single Year Male 18 years",
                        "code": "Q012A07",
                        "count": 242
                    }, {
                        "name": "Male Single Year Male 19 years",
                        "code": "Q012B07",
                        "count": 242
                    }, {
                        "name": "Male Single Year Male 20 years",
                        "code": "Q012C07",
                        "count": 242
                    }, {
                        "name": "Male Single Year Male 21 years",
                        "code": "Q012D07",
                        "count": 242
                    }]
                }, {
                    "name": "Male 14 to 17 years",
                    "code": "Q012006",
                    "count": 242
                }, {
                    "name": "Male 18 to 21 years",
                    "code": "Q012007",
                    "count": 242
                }, {
                    "name": "Male 18 years plus",
                    "code": "Q0120M_18P",
                    "count": 242
                }, {
                    "name": "Male 22 to 24 years",
                    "code": "Q012009",
                    "count": 242
                }, {
                    "name": "Male 25 to 29 years",
                    "code": "Q012011",
                    "count": 242
                }, {
                    "name": "Male 30 to 34 years",
                    "code": "Q012012",
                    "count": 242
                }, {
                    "name": "Male 35 to 39 years",
                    "code": "Q012013",
                    "count": 242
                }, {
                    "name": "Male 40 to 44 years",
                    "code": "Q012014",
                    "count": 242
                }, {
                    "name": "Male 45 to 49 years",
                    "code": "Q012015",
                    "count": 242
                }, {
                    "name": "Male 50 to 54 years",
                    "code": "Q012016",
                    "count": 242
                }, {
                    "name": "Male 55 to 59 years",
                    "code": "Q012017",
                    "count": 242
                }, {
                    "name": "Male 60 to 64 years",
                    "code": "Q012018",
                    "count": 242
                }, {
                    "name": "Male 65 to 69 years",
                    "code": "Q012020",
                    "count": 242
                }, {
                    "name": "Male 70 to 74 years",
                    "code": "Q012022",
                    "count": 242
                }, {
                    "name": "Male 75 to 79 years",
                    "code": "Q012023",
                    "count": 242
                }, {
                    "name": "Male 80 to 84 years",
                    "code": "Q012024",
                    "count": 242
                }, {
                    "name": "Male 85 years plus",
                    "code": "Q012025",
                    "count": 242
                }, {
                    "name": "Male Average Age",
                    "code": "Q013B_2AV",
                    "count": 242
                }, {
                    "name": "Male Median Age",
                    "code": "Q013B_2MD",
                    "count": 242
                }]
            }]
        }]
    }
当然

这将从
凸起的
老式的
对象中为您提供一个“顶部”数组。

当然


这将从
凸起的
老式的
对象中为您提供一个“顶部”数组。

您现在可以采取以下措施:

result = data.children
    .filter(o => o.name === 'Age')
    .map(o => Object.assign(
        {},
        o,
        { children: o.children.filter(p => ['Female', 'Male'].includes(p.name)) }
    ));

您现在可以采取以下措施:

result = data.children
    .filter(o => o.name === 'Age')
    .map(o => Object.assign(
        {},
        o,
        { children: o.children.filter(p => ['Female', 'Male'].includes(p.name)) }
    ));


您不想在新的JSON中使用
cake
?请提供您正在使用的输入和相应的所需输出的最小示例。以及您自己所做的任何尝试。请添加想要的结果。我没有看到任何JSON?在我看来像一个数组?@NinaScholz我确实修改了JSON和所需的输出。谢谢。你不想在新的JSON中使用
cake
?请提供你正在使用的输入和相应的所需输出的最小示例。以及您自己所做的任何尝试。请添加想要的结果。我没有看到任何JSON?在我看来像是一个数组?@NinaScholz我确实修改了JSON和所需的输出。谢谢。
includes
很简洁,但不幸的是它在比箭头函数更多的浏览器中仍然有效:)是的。愚蠢的我。@SNT-我想读点浅显的东西->@NinaScholz我修改了我的JSON,不能用你的代码创建新的JSON。如果您可以检查此()并让我简单解释一下代码的作用。因此,如果我的JSON发生了更改,我可以相应地修改它。
includes
很简洁,但不幸的是,它在浏览器中仍然比箭头函数更有效:)是的。愚蠢的我。@SNT-我想读点浅显的东西->@NinaScholz我修改了我的JSON,不能用你的代码创建新的JSON。如果您可以检查这个()并让我简单解释一下代码的作用,那么如果我的JSON发生了变化,我可以相应地修改它。