JavaScript JSON文法


1.JSON                
        ①   :   JavaScript      ,   JSON       、  、    nullJSON    JavaScript      undefined。
        ②  :            ,             。                ,            。
        ③  :            ,           ,               。            ——   、     。
        eg: {
                //    
                "name" : "yang",    //    
                "age" : 20,         //   
                "isBoy" : false,
                "wife"  : null,
                //   
                "sports" : {
                    "ball" : "pingpong",
                    "water" : "swimming"
                },
                //   
                "fruits" : ["apple", "pear", "banana"]
            }
 、      
    1.JSON  
        //          
        var json = JSON.stringify(person);      // object ==> JSON
        // alert(json); 
        var obj = JSON.parse(json);             // JSON ==> object
        // alert(obj); // [object Object]
    2.//    :     
            // JSON.stringify()            ,         ,       name fruits  
            var json = JSON.stringify(person, ["name", "fruits"]);      // object ==> JSON
            alert(json);    // {"name":"yang","fruits":["apple","pear","banana"]}
            //    :    
            var json = JSON.stringify(person, function (key, value) {
                switch(key) {
                    case "name":
                        return "xiao yang"; //  name    
                    case "fruits":
                        return value.join("|"); //  fruits   |  
                    default:
                        return value;
                }
            });
            alert(json);
        ②     ,JSON.stringify()                      
            //  ---  
            var json = JSON.stringify(person, ["name", "fruits"], "---");       // object ==> JSON
            alert(json);
        ④toJSON:          ,           。
            var person = {
                //    
                name : "zhang",
                toJSON : function () {
                    return this.name;
                }
            }
            var json = JSON.stringify(person);      // object ==> JSON
            alert(json);        // "zhang"
        ⑤    : JSON.parse()         
                        json   
                            , json.stringifY           
                eg: var person = {
                        //    
                        name : "zhang",
                        age : 20,
                        releaseDate: new Date(2011, 11, 1)
                    }
                    var jsonText = JSON.stringify(person);
                    var bookCopy = JSON.parse(jsonText, function(key, value){
                        if (key == "releaseDate"){
                            return new Date(value);     //  releaseDate       
                        } else {
                            return value;
                        }
                    });
                    alert(bookCopy.releaseDate.getMonth());     // 11