在nodejs中过滤JSON数据(包含对象数组)

时间:2018-04-20 06:56:10

标签: javascript json node.js

** 以下是我的JSON数据

  

我想过滤并拥有带有rulescore>的数据0使用nodejs

**

{
 "https://www.google.com":{
   "sitescore":99,
       "rules":[
            {
        "rulename":"rule1","rulescore":0,"description":"rules1 descript"},
            {
        "rulename":"rule2","rulescore":1,"description":"rules2 descript"},
            {
        "rulename":"rule3","rulescore":0,"description":"rules3 descript"}
            ]
           }
}

**

  

我想过滤并拥有带有rulescore>的数据0使用nodejs

**

3 个答案:

答案 0 :(得分:3)

filter数组使用rules操作,以获取大于0的rulescore规则。

var dataObj = {
 "sitename":{
   "sitescore":99,
   "rules":[
     {
       "rulename":"rule1","rulescore":0,"description":"rules1 descript"
     },
     {
       "rulename":"rule2","rulescore":1,"description":"rules2 descript"
     },
     {
       "rulename":"rule3","rulescore":0,"description":"rules3 descript"
     }
   ]
 }
};

var res = dataObj.sitename.rules.filter((rule) => rule.rulescore > 0);
console.log(res);

答案 1 :(得分:0)

ES6

您可以使用filter()数组方法。

<强>样本

&#13;
&#13;
// send sms
if ( e.mobile !== 'none' ) {
  ...

} else {
    return sendEmail()
}
&#13;
const data = {
    "sitename": {
        "sitescore": 99,
        "rules": [{
            "rulename": "rule1",
            "rulescore": 0,
            "description": "rules1 descript"
        }, {
            "rulename": "rule2",
            "rulescore": 1,
            "description": "rules2 descript"
        }, {
            "rulename": "rule3",
            "rulescore": 0,
            "description": "rules3 descript"
        }]
    }
};


console.log(data.sitename.rules.filter(({rulescore}) => rulescore > 0));
&#13;
&#13;
&#13;

答案 2 :(得分:0)

    var dataObj={
         "https://www.google.com":{
        "sitescore":99,
         "rules":[
                {
             "rulename":"rule1","rulescore":0,"description":"rules1 descript"},
              {
             "rulename":"rule2","rulescore":1,"description":"rules2 descript"},
               {
             "rulename":"rule3","rulescore":0,"description":"rules3 descript"}
             ]
             }
       };

      var res = (dataObj["https://www.google.com"]).rules.filter(rule => 
   rule.rulescore > 0);
       console.log(res);