json-stringify()

JSON.stringify()
将value(Object,Array,String,Number...)序列化为JSON字符串
语法:JSON.stringify(value,filter,indent);
返回值:JSON字符串
         value  --传入的类型{type:String|Object|String|Number|Boolean|null}
         filter --过滤器可以是个数组,也可以是个函数{type : []|{}}
         indent --如果是数字则代表空白符的个数,最多10个;也可以直接传入缩进的符号{type : Number | 特殊符号}
var gather = {
    id : 1314,
    name : 'wjy',
    infor : {
        age : 20,
        sex : 'woman',
        marry : false,
        identity : 622421,
        habit : ['电影','乒乓球','游戏',true]
    },
    family : ['妈妈','爸爸'],
    likeGames : ['PCgame','Netgame']
};
var jsonText = JSON.stringify(gather,null,4); 
//第二个参数是数组,只会序列化返回数组里列出的名称
var jsonText1 = JSON.stringify(gather,['id','family'],'=');
var jsonText2 = JSON.stringify(gather,function(key,val){
    switch(key){
        case 'id' :
            return 'id is ' + val;
        case 'family' :
            return val.join('@');
        case 'infor' :
            //infor的val 还可以使用JSON.stringify()
            //return JSON.stringify(val,["age","sex"]);
            return Object.prototype.toString.call(val).slice(8, -1);
        case 'likeGames' :
            //通过返回undefined删除该属性
            return undefined;
        //一定要default,以便传入的其他值能正常的返回到序列化结果中。
        default :
            return val;
    }
},10);

alert(jsonText);结果:
json-stringify()

alert(jsonText1);结果:
json-stringify()

alert(jsonText2);结果:
json-stringify()

JSON.stringify("abc"); // '"abc"'
JSON.stringify(1); // "1"
JSON.stringify(false); // "false"
JSON.stringify([]); // "[]"
JSON.stringify({}); // "{}"
JSON.stringify([1, "false", false]);// '[1,"false",false]'
JSON.stringify({ name: "张三" });// '{"name":"张三"}'

http://handyxuefeng.blog.163.com/blog/static/4545217220123510051162/
http://javascript.ruanyifeng.com/stdlib/json.html?

你可能感兴趣的:(stringify)