利用stringify()方法,return underfined;可以過(guò)濾key為name的鍵,但是一下過(guò)濾了所有key為name的鍵,怎么控制只過(guò)濾company對(duì)象下面的name呢?
var person = { name: "張三", age: 14, sex: "男", tell: 5033453, birthday:new Date(), company:{ name:"百度", contry:"中國(guó)", boss:"馬化騰", state:1 } }; var jperson = JSON.stringify(person,function(key,value){ switch (key) { case "name": return undefined; case "state": return value===1?"通過(guò)":"未通過(guò)"; case "birthday": return value.replace("T"," ").replace("Z","").substr(0,19); default: return value; } }); console.log(jperson);
結(jié)果:{"age":14,"sex":"男","tell":5033453,"birthday":"2016-05-10 10:48:54","company":{"contry":"中國(guó)","boss":"馬化騰","state":"通過(guò)"}}
擁有18年軟件開(kāi)發(fā)和IT教學(xué)經(jīng)驗(yàn)。曾任多家上市公司技術(shù)總監(jiān)、架構(gòu)師、項(xiàng)目經(jīng)理、高級(jí)軟件工程師等職務(wù)。 網(wǎng)絡(luò)人氣名人講師,...
var?person?=?{ ????name:?"張三", ????age:?14, ????sex:?"男", ????tell:?5033453, ????birthday:new?Date(), ????company:{ ????????name:"百度", ????????contry:"中國(guó)", ????????boss:"馬化騰", ????????state:1 ????} }; var?jperson?=?JSON.stringify(person,function(key,value){ ????switch?(key)?{ ????????case?"company": ????????????delete?value["name"]; ????????????return?value; ????????case?"state": ????????????return?value===1?"通過(guò)":"未通過(guò)"; ????????case?"birthday": ????????????return?value.replace("T","?").replace("Z","").substr(0,19); ????????default: ????????????return?value; ????} }); console.log(jperson);