首页 > 代码库 > JSON stringify and parse

JSON stringify and parse

来源 : http://javascript.ruanyifeng.com/stdlib/date.html

 

    //解析json也可以传入一个方法, 基本上和stringify差不多,不过是逆序的, 要注意key = "" 的return ,基本上返回 value就好    //自己做一个test比较好理解    function f(key, value) {        //console.log(key);        //console.log(value);        if (key === "") {            return value;        }        return {            age: 12        };    }    var o1 = {        name: "keatkeat",        array: ["a", "b"]    }    var o = JSON.parse(JSON.stringify(o1), f);    console.log(o);              //第2个参数数组的话,可以针对obj 过滤出我们指定想要的属性    //第2参数是函数的话,会梯归执行坎套的对象和数组,返回undefined的话这个属性将被忽略    //这个 key value 循环包括 对象(key="",value=http://www.mamicode.com/object),数组(key="",value=http://www.mamicode.com/array),对象内的每一个属性(key=attr,value=value),数组中的每一个值(key=0, value=value)>//return 的value 将继续被梯归下去,比如你把一个string 变成 return一个对象,它也会梯归处理这个对象 (所以要注意循环引用)    //如果处理的是一个对象而且它拥有 toJSON 这个方法的话,那么将会调用它来获取return value (比如js Date就带有这个方法)    //自己做一个test就容易理解了。     //第3个参数可以做美美的JSON     JSON.stringify(obj, function (key, value) {        console.log(key);        console.log(value);        //自定义处理的话,要顾虑到这个哦        if (value.toJSON) {            return value.toJSON();        }        return value;    }, " ");    JSON.stringify(obj, ["onlyThisAttrWant"], " ");

 

JSON stringify and parse