javascript - 过滤 JSON

标签 javascript json

我有一个如下所示的 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
    }
}

我想过滤这个 json 以包含其值为 true 的项目,如下所示

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

非常感谢任何帮助

最佳答案

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

关于javascript - 过滤 JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15222312/

相关文章:

javascript - 如何访问嵌套元素

javascript - 使用 Javascript 如何找到嵌套在空数组中的对象的路径?

javascript - 将键/值对转换为 json

javascript - 在 addCustomFilter 中使用链接实体

javascript - 如何在angularjs中打印时隐藏文本框

javascript - 如何在下拉列表更改时动态隐藏表格行?

javascript - 未捕获的类型错误 : Cannot read property 'nextSibling' of undefined

php - angularjs 4 : how to post raw JSON data

javascript - Ext JS - Store 与 JsonStore

javascript - 如何在 JavaScript 的内部方法中获取对定义 'class' 的引用?