º¯Êý·µ»ØµÄÖµ¾ÍÊÇÏàÓ¦¼üµÄÖµ¡£Èç¹ûº¯Êý·µ»ØÁËundefined»òûÓзµ»ØÖµ£¬ÄÇôÏàÓ¦µÄÊôÐԻᱻºöÂÔ¡£
(typeof(value) === "string") { return undefined; } return value; }) // '{"b": 123}'stringify()·½·¨»¹¿ÉÒÔ½ÓÊܵÚÈý¸ö²ÎÊý£¬ÓÃÓÚÔö¼Ó·µ»Øjson×Ö·û´®µÄ¿É¶ÁÐÔ¡£
toJSON()
¡¡¡¡ÓÐʱºò£¬JSON.stringify()»¹ÊDz»ÄÜÂú×ã¶ÔijЩ¶ÔÏó½øÐÐ×Ô¶¨ÒåÐòÁл¯µÄÐèÇó¡£ÔÚÕâЩÇé¿öÏ£¬ ¿ÉÒÔͨ¹ýÔÚ¶ÔÏóÉϵ÷ÓÃtoJSON()·½·¨£¬·µ»ØÆä×ÔÉíµÄJSONÊý¾Ý¸ñʽ¡£
JSON.stringify({ toJSON: } }) // ""Cool""var o = { foo: 'foo', toJSON: ; } }; JSON.stringify({x: o});// '{"x":"bar"}'¡¡¡¡Èç¹ûtoJSON()·½·¨·µ»Øundefined£¬´ËʱÈç¹û°üº¬ËüµÄ¶ÔÏóǶÈëÔÚÁíÒ»¸ö¶ÔÏóÖУ¬»áµ¼Ö¸öÔÏóµÄÖµ±ä³Énull¡£¶øÈç¹û°üº¬ËüµÄ¶ÔÏóÊǶ¥¼¶¶ÔÏ󣬽á¹û¾ÍÊÇundefined¡£
JSON.stringify({ toJSON: } }) //undefinedDate¶ÔÏó²¿ÊðÁËÒ»¸ö×Ô¼ºµÄtoJSON·½·¨£¬×Ô¶¯½«Date¶ÔÏóת»»³ÉÈÕÆÚ×Ö·û´®¡£
JSON.stringify(new Date("2016-08-29")) JSON.parse(.parse('null') // null var o = JSON.parse('{"name": "ÕÅÈý"}'); o.name // ÕÅÈýÈç¹û´«ÈëµÄ×Ö·û´®²»ÊÇÓÐЧµÄJSON¸ñʽ£¬JSON.parse·½·¨½«±¨´í.
//Uncaught SyntaxError: Unexpected token u in JSON at position 0(¡) JSON.parse("'String'") { if (key === ''){ return value; } if (key === 'a') { return value + 10; } }); o.a // 11 o.b // undefined¡¡ÔÚ½«ÈÕÆÚ×Ö·û´®×ª»»ÎªDate¶ÔÏóʱ£¬¾³£ÒªÓõ½»¹Ôº¯Êý
var book = { "title": "javascript", "date": new Date(2016,9,1) } var jsonStr = JSON.stringify(book); //'{"title":"javascript","date":"2016-09-30T16:00:00.000Z"}'' console.log(jsonStr) (key == 'date'){ (value); } return value; }) console.log(bookCopy.date.getFullYear());
¡¡