JSON.stringify()方法第三个参数问题!-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

JSON.stringify()方法第三个参数问题!

利用stringify()方法,return underfined;可以过滤key为name的键,但是一下过滤了所有key为name的键,怎么控制只过滤company对象下面的name呢?

var person = {
            name: "张三",
            age: 14,
            sex: "男",
            tell: 5033453,
            birthday:new Date(),
            company:{
                name:"百度",
                contry:"中国",
                boss:"马化腾",
                state:1
            }
        };

        var jperson = JSON.stringify(person,function(key,value){
            switch (key) {
                case "name":
                    return undefined;
                case "state":
                    return value===1?"通过":"未通过";
                case "birthday":
                    return value.replace("T"," ").replace("Z","").substr(0,19);
                default:
                    return value;
            }

        });
        console.log(jperson);
结果:{"age":14,"sex":"男","tell":5033453,"birthday":"2016-05-10 10:48:54","company":{"contry":"中国","boss":"马化腾","state":"通过"}}

展开
收起
a123456678 2016-03-13 11:29:48 2531 0
1 条回答
写回答
取消 提交回答
  • a123456678
    var person = {
        name: "张三",
        age: 14,
        sex: "男",
        tell: 5033453,
        birthday:new Date(),
        company:{
            name:"百度",
            contry:"中国",
            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?"通过":"未通过";
            case "birthday":
                return value.replace("T"," ").replace("Z","").substr(0,19);
            default:
                return value;
        }
    
    });
    console.log(jperson);
    2019-07-17 19:02:18
    赞同 展开评论 打赏
问答标签:
问答地址:
问答排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载