简体   繁体   English

过滤JSON

[英]Filtering a JSON

I am having a JSON like below 我有如下的JSON

{
    "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 我想过滤此json以包含其值单独为true的项,如下所示

{"status":"On Hold,Completed","application":"EWS,Harmony"}

Any help is much appreciated 任何帮助深表感谢

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(',');
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM