Reputation: 1237
I am having a JSON like below
{
"status": {
"On Hold": true,
"Completed": true,
"Work In Progress": false,
"Closed": false,
"Initiation": false
},
"application": {
"Athena":false,
"EWindow":false,
"EWS":true,
"FACT":false,
"FTP":false,
"Hardware":false,
"Harmony":true,
"Hermes":false
}
}
I want to filter this json to contain item whose value is true alone like below
{"status":"On Hold,Completed","application":"EWS,Harmony"}
Any help is much appreciated
Upvotes: 1
Views: 165
Reputation: 26930
var data = {"status":{"On Hold":true,"Completed":true,"Work In Progress":false,"Closed":false,"Initiation":false},"application":{"Athena":false,"EWindow":false,"EWS":true,"FACT":false,"FTP":false,"Hardware":false,"Harmony":true,"Hermes":false}}
var newData = {};
for(var prop in data){
var subData = data[prop];
var xs = [];
for(var subProp in subData){
if(subData[subProp] === true)
xs.push(subProp);
}
newData[prop] = xs.join(',');
}
Upvotes: 1