2016-11-07 73 views
0

我想獲得整個對象,不包括template字段,不管級別。 這是我的目標:jsonPath排除字段

{ 
      sections: 
     [ 
      { 
       name: "part1", 
       title: "Part I", 
       template: "Part I template", 
       children: [{ 
        name: "1", 
        title: "part1.1", 
        template:"part1.1 template" 
       }, { 
        name: "2", 
        title: "part1.2", 
        template:"part1.2 template" 
       }] 
      }, 
     { 
      name:"part2", 
       //... 
     } 
    ] 
} 

我試圖https://github.com/s3u/JSONPathhttps://github.com/dchester/jsonpath我不能弄明白我怎麼能做到這一點。

+0

如果u想ü可以簡單地使用,而不是使用jsonpath – kgangadhar

回答

0

如果你想擺脫嵌套對象的特定字段,這可以幫助你。

var data = { 
     sections: 
     [ 
      { 
       name: "part1", 
       title: "Part I", 
       template: "Part I template", 
       children: [{ 
        name: "1", 
        title: "part1.1", 
        template: "part1.1 template" 
       }, { 
        name: "2", 
        title: "part1.2", 
        template: "part1.2 template" 
       }] 
      } 
     ] 
    };   

    var remove_field = function (obj, field) { 
     for (var attr in obj) { 
      if (typeof obj[attr] === 'object' || typeof obj[attr] === 'array') { 
       for (var index in obj[attr]) { 
        remove_field(obj[attr][index],field); 
       } 
      } 
      else if(attr === field){ 
       delete obj[attr]; 
      } 
     } 
     return obj; 
    } 

    data_without_template = remove_field(data, 'template'); 
+0

我也有在明知解決這一問題假設答案是「jsonpath」符號給出的興趣recurrsive方法,沒有代碼請: - ) –

+0

來吧夥計.. –