javascript - Filtering JSON by key -


is way in can filter json name , child node names , construct new output json.since long json have here

https://gist.githubusercontent.com/senthilthyagarajan/4fd48ebfff70c699ad90cea651b80f42/raw/cd06974c8dd96a5bd6a706ea8ed5f13a8e65f970/drill.json

from above json want filter , construct below json:

{         "name": "age",         "code": "age",         "children": [{                 "name": "female",                 "code": "age_female",                 "children": [{                     "name": "female   under 5 years",                     "code": "q012027",                     "count": 242                 }, {                     "name": "female  5 13 years",                     "code": "q012028",                     "count": 242                 }, {                     "name": "female 14 17 years",                     "code": "q012030",                     "count": 242                 }, {                     "name": "female 18 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 24 years",                     "code": "q012033",                     "count": 242                 }, {                     "name": "female 25 29 years",                     "code": "q012035",                     "count": 242                 }, {                     "name": "female 30 34 years",                     "code": "q012036",                     "count": 242                 }, {                     "name": "female 35 39 years",                     "code": "q012037",                     "count": 242                 }, {                     "name": "female 40 44 years",                     "code": "q012038",                     "count": 242                 }, {                     "name": "female 45 49 years",                     "code": "q012039",                     "count": 242                 }, {                     "name": "female 50 54 years",                     "code": "q012040",                     "count": 242                 }, {                     "name": "female 55 59 years",                     "code": "q012041",                     "count": 242                 }, {                     "name": "female 60 64 years",                     "code": "q012042",                     "count": 242                 }, {                     "name": "female 65 69 years",                     "code": "q012044",                     "count": 242                 }, {                     "name": "female 70 74 years",                     "code": "q012046",                     "count": 242                 }, {                     "name": "female 75 79 years",                     "code": "q012047",                     "count": 242                 }, {                     "name": "female 80 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 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 17 years",                     "code": "q012006",                     "count": 242                 }, {                     "name": "male 18 21 years",                     "code": "q012007",                     "count": 242                 }, {                     "name": "male 18 years plus",                     "code": "q0120m_18p",                     "count": 242                 }, {                     "name": "male 22 24 years",                     "code": "q012009",                     "count": 242                 }, {                     "name": "male 25 29 years",                     "code": "q012011",                     "count": 242                 }, {                     "name": "male 30 34 years",                     "code": "q012012",                     "count": 242                 }, {                     "name": "male 35 39 years",                     "code": "q012013",                     "count": 242                 }, {                     "name": "male 40 44 years",                     "code": "q012014",                     "count": 242                 }, {                     "name": "male 45 49 years",                     "code": "q012015",                     "count": 242                 }, {                     "name": "male 50 54 years",                     "code": "q012016",                     "count": 242                 }, {                     "name": "male 55 59 years",                     "code": "q012017",                     "count": 242                 }, {                     "name": "male 60 64 years",                     "code": "q012018",                     "count": 242                 }, {                     "name": "male 65 69 years",                     "code": "q012020",                     "count": 242                 }, {                     "name": "male 70 74 years",                     "code": "q012022",                     "count": 242                 }, {                     "name": "male 75 79 years",                     "code": "q012023",                     "count": 242                 }, {                     "name": "male 80 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                 }]             }]         }]     } 

you take following:

result = data.children     .filter(o => o.name === 'age')     .map(o => object.assign(         {},         o,         { children: o.children.filter(p => ['female', 'male'].includes(p.name)) }     )); 

Comments

Popular posts from this blog

neo4j - finding mutual friends in a cypher statement starting with three or more persons -

php - How to remove letter in front of the word laravel -

minify - Minimizing css files -