ÎÒÃÇÏÈÀ´¿´Ò»¸öJSÖг£¼ûµÄJS¶ÔÏóÐòÁл¯³ÉJSON×Ö·û´®µÄÎÊÌ⣬ÇëÎÊ£¬ÒÔÏÂJS¶ÔÏóͨ¹ýJSON.stringifyºóµÄ×Ö·û´®ÊÇÔõÑùµÄ£¿ÏȲ»Òª¼±×Ÿ´ÖÆÕ³Ìùµ½¿ØÖÆÌ¨£¬ÏÈ×Ô¼º´ò¿ªÒ»¸ö´úÂë±à¼Æ÷»òÕßÖ½£¬Ð´Ð´¿´£¬Ð´ÍêÔÙÈ¥×Ðϸ¶Ô±ÈÄãµÄ¿ØÖÆÌ¨Êä³ö£¬Èç¹ûÓÐÎó¼ÇµÃ¿´ÍêÈ«ÎIJ¢ÆÀÂÛ£¬¹þ¹þ¡£
var friend={ firstName: 'Good', 'lastName': 'Man', 'address': undefined, 'phone': ["1234567",undefined], 'fullName': function(){ return this.firstName + ' ' + this.lastName; } };
JSON.stringify(friend);//ÕâÒ»Ðзµ»ØÊ²Ã´ÄØ£¿ |
µÚ¶þ¸öÎÊÌ⣬Èç¹ûÎÒÏëÔÚ×îÖÕJSON×Ö·û´®½«Õâ¸ö¡¯friend¡¯µÄÐÕÃûÈ«²¿±ä³É´óд×Öĸ£¬Ò²¾ÍÊǰѡ±Good¡±±ä³É¡±GOOD¡±£¬°Ñ¡±Man¡±±ä³É¡±MAN¡±£¬ÄÇô¿ÉÒÔÔõô×ö£¿
»ùÓÚÒÔÉÏÁ½¸öÎÊÌ⣬ÎÒÃÇÔÙ×·±¾ËÝÔ´ÎÊһϣ¬JSON¾¿¾¹ÊÇʲô¶«Î÷£¿ÎªÊ²Ã´JSON¾ÍÊÇÒ×ÓÚÊý¾Ý½»»»£¿JSONºÍJS¶ÔÏóµÄÇø±ð£¿JSÖÐJSON.parse¡¢JSON.stringifyºÍ²»³£¼ûµÄtoJSON£¬Õ⼸¸öº¯ÊýµÄ²ÎÊýºÍ´¦Àíϸ½Úµ½µ×ÊÇÔõÑùµÄ£¿
»¶Ó½øÈë±¾´Î¡°ÉîÍÚJSONÖ®Âá±£¬ÏÂÎĽ«´ÓÒÔϼ¸¸ö·½ÃæÈ¥Àí½âJSON£º
Ê×ÏÈÊǶԡ°JSONÊÇÒ»ÖÖÇáÁ¿µÄÊý¾Ý½»»»¸ñʽ¡±µÄÀí½â£»
È»ºóÀ´¿´¾³£±»»ìΪһ̸µÄJSONºÍJS¶ÔÏóµÄÇø±ð£»
×îºóÎÒÃÇÔÙÀ´¿´JSÖÐÕ⼸¸öJSONÏà¹Øº¯Êý¾ßÌåµÄÖ´ÐÐϸ½Ú¡£
Ï£ÍûÈ«ÎÄÄÜÈÃÈç֮ǰµÄÎÒÒ»Ñù¶ÔJSONÒ»Öª°ë½âµÄÇ×ÄÜ˵Çå³þJSONÊÇʲô£¬Ò²ÄÜÊìÁ·ÔËÓÃJSON£¬²»¿´¿ØÖÆÌ¨¾ÍÖªµÀJS¶ÔÏóÐòÁл¯³ÉJSON×Ö·û´®ºóÊä³öÊÇɶ¡£
Ò»¡¢JSONÊÇÒ»ÖÖ¸ñʽ£¬»ùÓÚÎı¾£¬ÓÅÓÚÇáÁ¿£¬ÓÃÓÚ½»»»Êý¾Ý
Èç¹ûûÓÐÈ¥¹ýJSONµÄ¹Ù·½½éÉÜ¿ÉÒÔÈ¥Ò»ÏÂÕâÀ¹Ù·½½éÉܵÚÒ»¡¢¶þ¶ÎÒѾºÜÇå³þµØ±íÊöÁËJSONÊÇʲô£¬ÎÒ½«JSONÊÇʲôÌáÁ¶³ÉÒÔϼ¸¸ö·½Ã棺
1. Ò»ÖÖÊý¾Ý¸ñʽ
ʲôÊǸñʽ£¿¾ÍÊǹ淶ÄãµÄÊý¾ÝÒªÔõô±íʾ£¬¾Ù¸öÀõ×Ó£¬ÓиöÈ˽С°¶þ°ÙÁù¡±£¬Éí¸ß¡°160cm¡±£¬ÌåÖØ¡°60kg¡±£¬ÏÖÔÚÄãÒª½«Õâ¸öÈ˵ÄÕâЩÐÅÏ¢´«¸ø±ðÈË»òÕß±ðµÄʲô¶«Î÷£¬ÄãÓкܶàÖÖÑ¡Ôñ£º
ÐÕÃû¡°¶þ°ÙÁù¡±£¬Éí¸ß¡°160cm¡±£¬ÌåÖØ¡°60kg¡±
name="¶þ°ÙÁù"&height="160cm"&weight="60kg"
<person><name>¶þ°ÙÁù</name><height>160</height><weight>60</weight></person>
{"name":"¶þ°ÙÁù","height":160,"weight":60}
¡ ¡
ÒÔÉÏËùÓÐÑ¡Ôñ£¬´«µÝµÄÊý¾ÝÊÇÒ»ÑùµÄ£¬µ«ÊÇÄã¿ÉÒÔ¿´µ½ÐÎʽÊÇ¿ÉÒÔ¸÷ʽ¸÷ÑùµÄ£¬Õâ¾ÍÊǸ÷ÖÖ²»Í¬¸ñʽ»¯ºóµÄÊý¾Ý£¬JSONÊÇÆäÖÐÒ»ÖÖ±íʾ·½Ê½¡£
2. »ùÓÚÎı¾µÄÊý¾Ý¸ñʽ
JSONÊÇ»ùÓÚÎı¾µÄÊý¾Ý¸ñʽ£¬Ïà¶ÔÓÚ»ùÓÚ¶þ½øÖƵÄÊý¾Ý£¬ËùÒÔJSONÔÚ´«µÝµÄʱºòÊÇ´«µÝ·ûºÏJSONÕâÖÖ¸ñʽ(ÖÁÓÚJSONµÄ¸ñʽÊÇʲôÎÒÃǵڶþ²¿·ÖÔÙ˵)µÄ×Ö·û´®£¬ÎÒÃdz£»á³ÆÎª¡°JSON×Ö·û´®¡±¡£
3. ÇáÁ¿¼¶µÄÊý¾Ý¸ñʽ
ÔÚJSON֮ǰ£¬ÓÐÒ»¸öÊý¾Ý¸ñʽ½Ðxml£¬ÏÖÔÚ»¹Êǹ㷺ÔÚÓ㬵«ÊÇJSON¸ü¼ÓÇáÁ¿£¬ÈçxmlÐèÒªÓõ½ºÜ¶à±êÇ©£¬ÏñÉÏÃæµÄÀý×ÓÖУ¬Äã¿ÉÒÔÃ÷ÏÔ¿´µ½xml¸ñʽµÄÊý¾ÝÖбêÇ©±¾ÉíÕ¼¾ÝÁ˺ܶà¿Õ¼ä£¬¶øJSON±È½ÏÇáÁ¿£¬¼´ÏàͬÊý¾Ý£¬ÒÔJSONµÄ¸ñʽռ¾ÝµÄ´ø¿í¸üС£¬ÕâÔÚÓдóÁ¿Êý¾ÝÇëÇóºÍ´«µÝµÄÇé¿öÏÂÊÇÓÐÃ÷ÏÔÓÅÊÆµÄ¡£
4. ±»¹ã·ºµØÓÃÓÚÊý¾Ý½»»»
ÇáÁ¿ÒѾÊÇÒ»¸öÓÃÓÚÊý¾Ý½»»»µÄÓÅÊÆÁË£¬µ«¸üÖØÒªµÄJSONÊÇÒ×ÓÚÔĶÁ¡¢±àдºÍ»úÆ÷½âÎöµÄ£¬¼´Õâ¸öJSON¶ÔÈ˺ͻúÆ÷¶¼ÊÇÓѺõ쬶øÇÒÓÖÇᣬ¶ÀÁ¢ÓÚÓïÑÔ£¨ÒòΪÊÇ»ùÓÚÎı¾µÄ£©£¬ËùÒÔJSON±»¹ã·ºÓÃÓÚÊý¾Ý½»»»¡£
ÒÔǰ¶ËJS½øÐÐajaxµÄPOSTÇëÇóΪÀý£¬ºó¶ËPHP´¦ÀíÇëÇóΪÀý£º
1.ǰ¶Ë¹¹ÔìÒ»¸öJS¶ÔÏó£¬ÓÃÓÚ°ü×°Òª´«µÝµÄÊý¾Ý£¬È»ºó½«JS¶ÔÏóת»¯ÎªJSON×Ö·û´®£¬ÔÙ·¢ËÍÇëÇ󵽺ó¶Ë£»
2.ºó¶ËPHP½ÓÊÕµ½Õâ¸öJSON×Ö·û´®£¬½«JSON×Ö·û´®×ª»¯ÎªPHP¶ÔÏó£¬È»ºó´¦ÀíÇëÇó¡£
¿ÉÒÔ¿´µ½£¬ÏàͬµÄÊý¾ÝÔÚÕâÀïÓÐ3ÖÖ²»Í¬µÄ±íÏÖÐÎʽ£¬·Ö±ðÊÇǰ¶ËµÄJS¶ÔÏó¡¢´«ÊäµÄJSON×Ö·û´®¡¢ºó¶ËµÄPHP¶ÔÏó£¬JS¶ÔÏóºÍPHP¶ÔÏóÃ÷ÏÔ²»ÊÇÒ»¸ö¶«Î÷£¬µ«ÊÇÓÉÓÚ´ó¼ÒÓõͼÊÇJSONÀ´´«µÝÊý¾Ý£¬´ó¼Ò¶¼ÄÜÀí½âÕâÖÖÊý¾Ý¸ñʽ£¬¶¼ÄܰÑJSONÕâÖÖÊý¾Ý¸ñʽºÜÈÝÒ×µØ×ª»¯Îª×Ô¼ºÄÜÀí½âµÄÊý¾Ý½á¹¹£¬Õâ¾Í·½±ãÀ²£¬ÔÚÆäËû¸÷ÖÖÓïÑÔ»·¾³Öн»»»Êý¾Ý¶¼ÊÇÈç´Ë¡£
¶þ¡¢JSONºÍJS¶ÔÏóÖ®¼äµÄ¡°°ËØÔ¡±
ºÜ¶àʱºò¶¼Ìýµ½¡°JSONÊÇJSµÄÒ»¸ö×Ó¼¯¡±Õâ¾ä»°£¬¶øÇÒÕâ¾ä»°ÎÒÔø¾Ò²Ò»Ö±ÕâôÈÏΪ£¬Ã¿¸ö·ûºÏJSON¸ñʽµÄ×Ö·û´®Äã½âÎö³Éjs¶¼ÊÇ¿ÉÒԵģ¬Ö±µ½ºóÀ´·¢ÏÖÁËÒ»¸öÆæÆæ¹Ö¹ÖµÄ¶«Î÷¡
1. Á½¸ö±¾Öʲ»Í¬µÄ¶«Î÷ΪʲôÄÇôÃÜÇÐ
JSONºÍJS¶ÔÏó±¾ÖÊÉÏÍêÈ«²»ÊÇͬһ¸ö¶«Î÷£¬¾ÍÏñ¡°°ßÂíÏß¡±ºÍ¡°°ßÂí¡±£¬¡°°ßÂíÏß¡±»ùÓÚ¡°°ßÂí¡±ÉíÉϵÄÌõÎÆÀ´³ÊÏÖºÍÃüÃû£¬µ«ÊǰßÂíÊÇ»îµÄ£¬°ßÂíÏßÊÇ·ÇÉúÎï¡£
ͬÑù£¬¡±JSON¡±È«Ãû¡±JavaScript Object Notation¡±£¬ËùÒÔËüµÄ¸ñʽ£¨Óï·¨£©ÊÇ»ùÓÚJSµÄ£¬µ«Ëü¾ÍÊÇÒ»ÖÖ¸ñʽ£¬¶øJS¶ÔÏóÊÇÒ»¸öʵÀý£¬ÊÇ´æÔÚÓÚÄÚ´æµÄÒ»¸ö¶«Î÷¡£
˵¾äÍæÐ¦»°£¬Èç¹ûJSONÊÇ»ùÓÚPHPµÄ£¬¿ÉÄܾͽÐPONÁË£¬ÐÎʽ¿ÉÄܾÍÊÇÕâÑùµÄÁË['propertyOne'
=> 'foo', 'propertyTwo' => 42,]£¬Èç¹ûÕâÑù£¬ÄÇôJSON¿ÉÄÜÏÖÔÚÊǺÍPHP±È½ÏÃÜÇÐÁË¡£
´ËÍ⣬JSONÊÇ¿ÉÒÔ´«ÊäµÄ£¬ÒòΪËüÊÇÎı¾¸ñʽ£¬µ«ÊÇJS¶ÔÏóÊÇû°ì·¨´«ÊäµÄ£¬ÔÚÓï·¨ÉÏ£¬JSONÒ²»á¸ü¼ÓÑϸñ£¬µ«ÊÇJS¶ÔÏó¾ÍºÜËÉÁË¡£
ÄÇôÁ½¸ö²»Í¬µÄ¶«Î÷ΪʲôÄÇôÃÜÇУ¬ÒòΪJSON±Ï¾¹ÊÇ´ÓJSÖÐÑݱä³öÀ´µÄ£¬Óï·¨Ïà½ü¡£
2. JSON¸ñʽ±ðJS¶ÔÏóÓï·¨±íÏÖÉÏÑϸñÔÚÄÄ
ÏȾÍÒÔ¡°¼üÖµ¶ÔΪ±íÏֵĶÔÏó¡±ÐÎʽÉÏ£¬¶Ô±ÈÏÂÁ½ÕߵIJ»Í¬£¬ÖÁÓÚJSON»¹ÄÜÒÔÔõÑùµÄÐÎʽ±íÏÖ£¬¶Ô±ÈÍêºóÔÙÂÞÁС£

¿ÉÒÔ¿´µ½£¬Ïà¶ÔÓÚJS¶ÔÏó£¬JSONµÄ¸ñʽ¸üÑϸñ£¬ËùÒԴ󲿷ÖдµÄJS¶ÔÏóÊDz»·ûºÏJSONµÄ¸ñʽµÄ¡£
var obj1 = {}; // ÕâÖ»ÊÇ JS ¶ÔÏó
// ¿É°ÑÕâ¸ö³Æ×ö£ºJSON ¸ñʽµÄ JavaScript ¶ÔÏó
var obj2 = {"width":100,"height":200,"name":"rose"};
// ¿É°ÑÕâ¸ö³Æ×ö£ºJSON ¸ñʽµÄ×Ö·û´®
var str1 = '{"width":100,"height":200,"name":"rose"}';
// Õâ¸ö¿É½Ð JSON ¸ñʽµÄÊý×飬ÊÇ JSON µÄÉÔ¸´ÔÓÒ»µãµÄÐÎʽ
var arr = [
{"width":100,"height":200,"name":"rose"},
{"width":100,"height":200,"name":"rose"},
{"width":100,"height":200,"name":"rose"},
];
// Õâ¸ö¿É½ÐÉÔ¸´ÔÓÒ»µãµÄ JSON ¸ñʽµÄ×Ö·û´®
var str2='['+
'{"width":100,"height":200,"name":"rose"},'+
'{"width":100,"height":200,"name":"rose"},'+
'{"width":100,"height":200,"name":"rose"},'+
']'; |
ÁíÍ⣬³ýÁ˳£¼ûµÄ¡°Õý³£µÄ¡±JSON¸ñʽ£¬ÒªÃ´±íÏÖΪһ¸ö¶ÔÏóÐÎʽ{...}£¬ÒªÃ´±íÏÖΪһ¸öÊý×éÐÎʽ[...]£¬Èκε¥¶ÀµÄÒ»¸ö10½øÖÆÊýÖµ¡¢Ë«ÒýºÅ×Ö·û´®¡¢²¼¶ûÖµºÍnull¶¼ÊÇÓÐЧ·ûºÏJSON¸ñʽµÄ¡£
3. Ò»¸öÓÐÒâ˼µÄµØ·½£¬JSON²»ÊÇJSµÄ×Ó¼¯
Ê×ÏÈ¿´ÏÂÃæµÄ´úÂ룬Äã¿ÉÒÔcopyµ½¿ØÖÆÌ¨Ö´ÐÐÏ£º
var code = '"\u2028\u2029"'; JSON.parse(code); // works fine eval(code); // fails |
ÕâÁ½¸ö×Ö·û\u2028ºÍ\u2029·Ö±ð±íʾÐзָô·ûºÍ¶ÎÂä·Ö¸ô·û£¬JSON.parse¿ÉÒÔÕý³£½âÎö£¬µ«Êǵ±×öjs½âÎöʱ»á±¨´í¡£
Èý¡¢Õ⼸¸öJSÖеÄJSONº¯Êý£¬ÅªÉ¶àÏ
ÔÚJSÖÐÎÒÃÇÖ÷Òª»á½Ó´¥µ½Á½¸öºÍJSONÏà¹ØµÄº¯Êý£¬·Ö±ðÓÃÓÚJSON×Ö·û´®ºÍJSÊý¾Ý½á¹¹Ö®¼äµÄת»¯£¬Ò»¸ö½ÐJSON.stringify£¬ËüºÜ´ÏÃ÷£¬´ÏÃ÷µ½ÄãдµÄ²»·ûºÏJSON¸ñʽµÄJS¶ÔÏó¶¼ÄܰïÄã´¦Àí³É·ûºÏJSON¸ñʽµÄ×Ö·û´®£¬ËùÒÔÄãµÃÖªµÀËüµ½µ×¸ÉÁËʲô£¬ÃâµÃËüÖ»ÊÇ×Ô×÷´ÏÃ÷£¬È»ºóÈÃÄãDebug
long time£»ÁíÒ»¸ö½ÐJSON.parse£¬ÓÃÓÚת»¯json×Ö·û´®µ½JSÊý¾Ý½á¹¹£¬ËüºÜÑϸñ£¬ÄãµÄJSON×Ö·û´®Èç¹û¹¹ÔìµØ²»¶Ô£¬ÊÇû°ì·¨½âÎöµÄ¡£
¶øËüÃǵIJÎÊý²»Ö¹Ò»¸ö£¬ËäÈ»ÎÒÃǾ³£ÓõÄʱºòÖ»´«ÈëÒ»¸ö²ÎÊý¡£
´ËÍ⣬»¹ÓÐÒ»¸ötoJSONº¯Êý£¬ÎÒÃǽÏÉÙ¿´µ½£¬µ«ÊÇËü»áÓ°ÏìJSON.stringify¡£
1. ½«JSÊý¾Ý½á¹¹×ª»¯ÎªJSON×Ö·û´®¡ª¡ªJSON.stringify
Õâ¸öº¯ÊýµÄº¯ÊýÇ©ÃûÊÇÕâÑùµÄ£º
JSON.stringify(value[, replacer [, space]]) |
ÏÂÃæ½«·Ö±ðÕ¹¿ª´ø1~3¸ö²ÎÊýµÄÓ÷¨£¬×îºóÊÇËüÔÚÐòÁл¯Ê±×öµÄһЩ¡°´ÏÃ÷¡±µÄÊ£¬ÒªÌرð×¢Òâ¡£
1.1 »ù±¾Ê¹Ó᪡ª½öÐèÒ»¸ö²ÎÊý
Õâ¸ö´ó¼Ò¶¼»áʹÓ㬴«ÈëÒ»¸öJSON¸ñʽµÄJS¶ÔÏó»òÕßÊý×飬JSON.stringify({"name":"Good
Man","age":18})·µ»ØÒ»¸ö×Ö·û´®"{"name":"Good
Man","age":18}"¡£
¿ÉÒÔ¿´µ½±¾ÉíÎÒÃÇ´«ÈëµÄÕâ¸öJS¶ÔÏó¾ÍÊÇ·ûºÏJSON¸ñʽµÄ£¬ÓõÄË«ÒýºÅ£¬Ò²Ã»ÓÐJSON²»½ÓÊܵÄÊôÐÔÖµ£¬ÄÇôÈç¹ûÏñ¿ªÍ·ÄǸöÀý×ÓÖеÄÒ»Ñù£¬how
to play£¿²»¼±£¬ÎÒÃÇÏȾټòµ¥µÄÀý×ÓÀ´ËµÃ÷Õâ¸öº¯ÊýµÄ¼¸¸ö²ÎÊýµÄÒâÒ壬ÔÙÀ´ËµÕâ¸öÎÊÌâ¡£
1.2 µÚ¶þ¸ö²ÎÊý¿ÉÒÔÊǺ¯Êý£¬Ò²¿ÉÒÔÊÇÒ»¸öÊý×é
Èç¹ûµÚ¶þ¸ö²ÎÊýÊÇÒ»¸öº¯Êý£¬ÄÇôÐòÁл¯¹ý³ÌÖеÄÿ¸öÊôÐÔ¶¼»á±»Õâ¸öº¯Êýת»¯ºÍ´¦Àí
Èç¹ûµÚ¶þ¸ö²ÎÊýÊÇÒ»¸öÊý×飬ÄÇôֻÓаüº¬ÔÚÕâ¸öÊý×éÖеÄÊôÐԲŻᱻÐòÁл¯µ½×îÖÕµÄJSON×Ö·û´®ÖÐ
Èç¹ûµÚ¶þ¸ö²ÎÊýÊÇnull£¬ÄÇ×÷ÓÃÉϺͿÕ×ÅÃ»É¶Çø±ð£¬µ«ÊDz»ÏëÉèÖõڶþ¸ö²ÎÊý£¬Ö»ÊÇÏëÉèÖõÚÈý¸ö²ÎÊýµÄʱºò£¬¾Í¿ÉÒÔÉèÖõڶþ¸ö²ÎÊýΪnull
ÕâµÚ¶þ¸ö²ÎÊýÈôÊǺ¯Êý
var friend={ "firstName": "Good", "lastName": "Man", "phone":"1234567", "age":18 };
var friendAfter=JSON.stringify(friend,function(key,value){
if(key==="phone")
return "(000)"+value;
else if(typeof value === "number")
return value + 10;
else
return value; //Èç¹ûÄã°ÑÕâ¸öelse·Ö¾äɾ³ý£¬ÄÇô½á¹û»áÊÇundefined
});
console.log(friendAfter);
//Êä³ö£º{"firstName":"Good","lastName":"Man","phone":"(000)1234567","age":28} |
Èç¹ûÖÆ¶¨Á˵ڶþ¸ö²ÎÊýÊǺ¯Êý£¬ÄÇôÕâ¸öº¯Êý±ØÐë¶ÔÿһÏî¶¼Óзµ»Ø£¬Õâ¸öº¯Êý½ÓÊÜÁ½¸ö²ÎÊý£¬Ò»¸ö¼üÃû£¬Ò»¸öÊÇÊôÐÔÖµ£¬º¯Êý±ØÐëÕë¶Ôÿһ¸öÔÀ´µÄÊôÐÔÖµ¶¼ÒªÓÐÐÂÊôÐÔÖµµÄ·µ»Ø¡£
ÄÇôÎÊÌâÀ´ÁË£¬Èç¹û´«ÈëµÄ²»ÊǼüÖµ¶ÔµÄ¶ÔÏóÐÎʽ£¬¶øÊÇ·½À¨ºÅµÄÊý×éÐÎÊ½ÄØ£¿£¬±ÈÈçÉÏÃæµÄfriend±ä³ÉÕâÑù£ºfriend=["Jack","Rose"]£¬ÄÇôÕâ¸öÖðÊôÐÔ´¦ÀíµÄº¯Êý½ÓÊÕµ½µÄkeyºÍvalueÓÖÊÇʲô£¿Èç¹ûÊÇÊý×éÐÎʽ£¬ÄÇôkeyÊÇË÷Òý£¬¶øvalueÊÇÕâ¸öÊý×éÏÄã¿ÉÒÔÔÚ¿ØÖÆÌ¨ÔÚÕâ¸öº¯ÊýÄÚ²¿´òÓ¡³öÀ´Õâ¸ökeyºÍvalueÑéÖ¤¡£
ÕâµÚ¶þ¸ö²ÎÊýÈôÊÇÊý×é
var friend={ "firstName": "Good", "lastName": "Man", "phone":"1234567", "age":18 };
//×¢ÒâÏÂÃæµÄÊý×éÓÐÒ»¸öÖµ²¢²»ÊÇÉÏÃæ¶ÔÏóµÄÈκÎÒ»¸öÊôÐÔÃû
var friendAfter=JSON.stringify(friend,["firstName","address","phone"]);
console.log(friendAfter);
//{"firstName":"Good","phone":"1234567"}
//Ö¸¶¨µÄ¡°address¡±ÓÉÓÚûÓÐÔÚÔÀ´µÄ¶ÔÏóÖÐÕÒµ½¶ø±»ºöÂÔ |
Èç¹ûµÚ¶þ¸ö²ÎÊýÊÇÒ»¸öÊý×飬ÄÇôֻÓÐÔÚÊý×éÖгöÏÖµÄÊôÐԲŻᱻÐòÁл¯½ø½á¹û×Ö·û´®£¬Ö»ÒªÔÚÕâ¸öÌṩµÄÊý×éÖÐÕÒ²»µ½µÄÊôÐԾͲ»»á±»°üº¬½øÈ¥£¬¶øÕâ¸öÊý×éÖдæÔÚµ«ÊÇÔ´JS¶ÔÏóÖв»´æÔÚµÄÊôÐԻᱻºöÂÔ£¬²»»á±¨´í¡£
1.3 µÚÈý¸ö²ÎÊýÓÃÓÚÃÀ»¯Êä³ö¡ª¡ª²»½¨ÒéÓÃ
Ö¸¶¨Ëõ½øÓõĿհ××Ö·û£¬¿ÉÒÔÈ¡ÒÔϼ¸¸öÖµ£º
ÊÇ1-10µÄij¸öÊý×Ö£¬´ú±íÓü¸¸ö¿Õ°××Ö·û
ÊÇ×Ö·û´®µÄ»°£¬¾ÍÓøÃ×Ö·û´®´úÌæ¿Õ¸ñ£¬×î¶àÈ¡Õâ¸ö×Ö·û´®µÄǰ10¸ö×Ö·û
ûÓÐÌṩ¸Ã²ÎÊý µÈÓÚ ÉèÖóÉnull µÈÓÚ ÉèÖÃÒ»¸öСÓÚ1µÄÊý
var friend={ "firstName": "Good", "lastName": "Man", "phone":{"home":"1234567","work":"7654321"} };
//Ö±½Óת»¯ÊÇÕâÑùµÄ£º
//{"firstName":"Good","lastName":"Man","phone":{"home":"1234567","work":"7654321"}}
var friendAfter=JSON.stringify(friend,null,4);
console.log(friendAfter);
/*
{
"firstName": "Good",
"lastName": "Man",
"phone": {
"home": "1234567",
"work": "7654321"
}
}
*/
var friendAfter=JSON.stringify(friend,null,"HAHAHAHA");
console.log(friendAfter);
/*
{
HAHAHAHA"firstName": "Good",
HAHAHAHA"lastName": "Man",
HAHAHAHA"phone": {
HAHAHAHAHAHAHAHA"home": "1234567",
HAHAHAHAHAHAHAHA"work": "7654321"
HAHAHAHA}
}
*/
var friendAfter=JSON.stringify(friend,null,"WhatAreYouDoingNow");
console.log(friendAfter);
/* ×î¶àֻȡ10¸ö×Ö·û
{
WhatAreYou"firstName": "Good",
WhatAreYou"lastName": "Man",
WhatAreYou"phone": {
WhatAreYouWhatAreYou"home": "1234567",
WhatAreYouWhatAreYou"work": "7654321"
WhatAreYou}
}
*/ |
ЦЦ¾ÍºÃ£¬±ðÕâÑùÓã¬ÐòÁл¯ÊÇΪÁË´«Ê䣬´«Êä¾ÍÊÇÄÜԽСԽºÃ£¬¼ÓĪÃûÆäÃîµÄËõ½ø·û£¬½âÎöÀ§ÄÑ£¨Èç¹ûÊÇ×Ö·û´®µÄ»°£©£¬Ò²Èõ»¯ÁËÇáÁ¿»¯Õâ¸öÌØµã¡£¡£
1.4 ×¢ÒâÕâ¸öº¯ÊýµÄ¡°Ð¡´ÏÃ÷¡±£¨ÖØÒª£©
Èç¹ûÓÐÆäËû²»È·¶¨µÄÇé¿ö£¬ÄÇô×îºÃµÄ°ì·¨¾ÍÊÇ¡±Have a try¡±£¬¿ØÖÆÌ¨×öÏÂʵÑé¾ÍÃ÷ÁË¡£
¼üÃû²»ÊÇË«ÒýºÅµÄ£¨°üÀ¨Ã»ÓÐÒýºÅ»òÕßÊǵ¥ÒýºÅ£©£¬»á×Ô¶¯±ä³ÉË«ÒýºÅ£»×Ö·û´®Êǵ¥ÒýºÅµÄ£¬»á×Ô¶¯±ä³ÉË«ÒýºÅ
×îºóÒ»¸öÊôÐÔºóÃæÓжººÅµÄ£¬»á±»×Ô¶¯È¥µô
·ÇÊý×é¶ÔÏóµÄÊôÐÔ²»Äܱ£Ö¤ÒÔÌØ¶¨µÄ˳Ðò³öÏÖÔÚÐòÁл¯ºóµÄ×Ö·û´®ÖÐ
Õâ¸öºÃÀí½â£¬Ò²¾ÍÊǶԷÇÊý×é¶ÔÏóÔÚ×îÖÕ×Ö·û´®Öв»±£Ö¤ÊôÐÔ˳ÐòºÍÔÀ´Ò»ÖÂ
²¼¶ûÖµ¡¢Êý×Ö¡¢×Ö·û´®µÄ°ü×°¶ÔÏóÔÚÐòÁл¯¹ý³ÌÖлá×Ô¶¯×ª»»³É¶ÔÓ¦µÄÔʼֵ
Ò²¾ÍÊÇÄãµÄʲônew String("bala")»á±ä³É"bala"£¬new
Number(2017)»á±ä³É2017
undefined¡¢ÈÎÒâµÄº¯Êý£¨ÆäʵÓиöº¯Êý»á·¢ÉúÉñÆæµÄÊ£¬ºóÃæ»á˵£©ÒÔ¼° symbol Öµ£¨symbolÏê¼ûES6¶ÔsymbolµÄ½éÉÜ£©
³öÏÖÔÚ·ÇÊý×é¶ÔÏóµÄÊôÐÔÖµÖУºÔÚÐòÁл¯¹ý³ÌÖлᱻºöÂÔ
³öÏÖÔÚÊý×éÖÐʱ£º±»×ª»»³É null
JSON.stringify({x: undefined, y: function(){return 1;}, z: Symbol("")}); //³öÏÖÔÚ·ÇÊý×é¶ÔÏóµÄÊôÐÔÖµÖб»ºöÂÔ£º"{}" JSON.stringify([undefined, Object, Symbol("")]); //³öÏÖÔÚÊý×é¶ÔÏóµÄÊôÐÔÖµÖУ¬±ä³Énull£º"[null,null,null]" |
NaN¡¢InfinityºÍ-Infinity£¬²»ÂÛÔÚÊý×黹ÊÇ·ÇÊý×éµÄ¶ÔÏóÖУ¬¶¼±»×ª»¯Îªnull
ËùÓÐÒÔ symbol ΪÊôÐÔ¼üµÄÊôÐÔ¶¼»á±»ÍêÈ«ºöÂÔµô£¬¼´±ã replacer ²ÎÊýÖÐÇ¿ÖÆÖ¸¶¨°üº¬ÁËËüÃÇ
²»¿Éö¾ÙµÄÊôÐԻᱻºöÂÔ
2. ½«JSON×Ö·û´®½âÎöΪJSÊý¾Ý½á¹¹¡ª¡ªJSON.parse
Õâ¸öº¯ÊýµÄº¯ÊýÇ©ÃûÊÇÕâÑùµÄ£º
JSON.parse(text[, reviver]) |
Èç¹ûµÚÒ»¸ö²ÎÊý£¬¼´JSON×Ö·û´®²»ÊǺϷ¨µÄ×Ö·û´®µÄ»°£¬ÄÇôÕâ¸öº¯Êý»áÅ׳ö´íÎó£¬ËùÒÔÈç¹ûÄãÔÚдһ¸öºó¶Ë·µ»ØJSON×Ö·û´®µÄ½Å±¾£¬×îºÃµ÷ÓÃÓïÑÔ±¾ÉíµÄJSON×Ö·û´®Ïà¹ØÐòÁл¯º¯Êý£¬¶øÈç¹ûÊÇ×Ô¼ºÈ¥Æ´½ÓʵÏÖµÄÐòÁл¯×Ö·û´®£¬ÄÇô¾ÍÓÈÆäҪעÒâÐòÁл¯ºóµÄ×Ö·û´®ÊÇ·ñÊǺϷ¨µÄ£¬ºÏ·¨Ö¸Õâ¸öJSON×Ö·û´®ÍêÈ«·ûºÏJSONÒªÇóµÄÑϸñ¸ñʽ¡£
ÖµµÃ×¢ÒâµÄÊÇÕâÀïÓÐÒ»¸ö¿ÉÑ¡µÄµÚ¶þ¸ö²ÎÊý£¬Õâ¸ö²ÎÊý±ØÐëÊÇÒ»¸öº¯Êý£¬Õâ¸öº¯Êý×÷ÓÃÔÚÊôÐÔÒѾ±»½âÎöµ«ÊÇ»¹Ã»·µ»ØÇ°£¬½«ÊôÐÔ´¦ÀíºóÔÙ·µ»Ø¡£
var friend={ "firstName": "Good", "lastName": "Man", "phone":{"home":"1234567","work":["7654321","999000"]} };
//ÎÒÃÇÏȽ«ÆäÐòÁл¯
var friendAfter=JSON.stringify(friend);
//'{"firstName":"Good","lastName":"Man","phone":{"home":"1234567","work":["7654321","999000"]}}'
//ÔÙ½«Æä½âÎö³öÀ´£¬ÔÚµÚ¶þ¸ö²ÎÊýµÄº¯ÊýÖдòÓ¡³ökeyºÍvalue
JSON.parse(friendAfter,function(k,v){
console.log(k);
console.log(v);
console.log("----");
});
/*
firstName
Good
----
lastName
Man
----
home
1234567
----
0
7654321
----
1
999000
----
work
[]
----
phone
Object
----
Object
----
*/ |
×Ðϸ¿´Ò»ÏÂÕâЩÊä³ö£¬¿ÉÒÔ·¢ÏÖÕâ¸ö±éÀúÊÇÓÉÄÚ¶øÍâµÄ£¬¿ÉÄÜÓÉÄÚ¶øÍâÕâ¸ö´Ê´ó¼Ò»áÎó½â£¬×îÀï²ãÊÇÄÚ²¿Êý×éÀïµÄÁ½¸öÖµ°¡£¬µ«ÊÇÊä³öÊÇ´ÓµÚÒ»¸öÊôÐÔ¿ªÊ¼µÄ£¬Ôõô¾ÍÊÇÓÉÄÚ¶øÍâµÄÄØ£¿
Õâ¸öÓÉÄÚ¶øÍâÖ¸µÄÊǶÔÓÚ¸´ºÏÊôÐÔÀ´ËµµÄ£¬Í¨Ë׵ؽ²£¬±éÀúµÄʱºò£¬´ÓÍ·µ½Î²½øÐбéÀú£¬Èç¹ûÊǼòµ¥ÊôÐÔÖµ£¨ÊýÖµ¡¢×Ö·û´®¡¢²¼¶ûÖµºÍnull£©£¬ÄÇôֱ½Ó±éÀúÍê³É£¬Èç¹ûÊÇÓöµ½ÊôÐÔÖµÊǶÔÏó»òÕßÊý×éÐÎʽµÄ£¬ÄÇôÔÝÍ££¬ÏȱéÀúÕâ¸ö×ÓJSON£¬¶ø±éÀúµÄÔÔòÒ²ÊÇÒ»ÑùµÄ£¬µÈÕâ¸ö¸´ºÏÊôÐÔ±éÀúÍê³É£¬ÄÇôÔÙÍê³É¶ÔÕâ¸öÊôÐԵıéÀú·µ»Ø¡£
±¾ÖÊÉÏ£¬Õâ¾ÍÊÇÒ»¸öÉî¶ÈÓÅÏȵıéÀú¡£
ÓÐÁ½µãÐèҪעÒ⣺
Èç¹û reviver ·µ»Ø undefined£¬Ôòµ±Ç°ÊôÐÔ»á´ÓËùÊô¶ÔÏóÖÐɾ³ý£¬Èç¹û·µ»ØÁËÆäËûÖµ£¬Ôò·µ»ØµÄÖµ»á³ÉΪµ±Ç°ÊôÐÔеÄÊôÐÔÖµ¡£
Äã¿ÉÒÔ×¢Òâµ½ÉÏÃæÀý×Ó×îºóÒ»×éÊä³ö¿´ÉÏȥûÓÐkey£¬ÆäʵÕâ¸ökeyÊÇÒ»¸ö¿Õ×Ö·û´®£¬¶ø×îºóµÄobjectÊÇ×îºó½âÎöÍê³É¶ÔÏó£¬ÒòΪµ½ÁË×îÉϲ㣬ÒѾûÓÐÕæÕýµÄÊôÐÔÁË¡£
3. Ó°Ïì JSON.stringify µÄÉñÆæº¯Êý¡ª¡ªobject.toJSON
Èç¹ûÄãÔÚÒ»¸öJS¶ÔÏóÉÏʵÏÖÁËtoJSON·½·¨£¬ÄÇôµ÷ÓÃJSON.stringifyÈ¥ÐòÁл¯Õâ¸öJS¶ÔÏóʱ£¬JSON.stringify»á°ÑÕâ¸ö¶ÔÏóµÄtoJSON·½·¨·µ»ØµÄÖµ×÷Ϊ²ÎÊýÈ¥½øÐÐÐòÁл¯¡£
var info={ "msg":"I Love You", "toJSON":function(){ var replaceMsg=new Object(); replaceMsg["msg"]="Go Die"; return replaceMsg; } };
JSON.stringify(info);
//³ösiÁË£¬·µ»ØµÄÊÇ£º'"{"msg":"Go Die"}"',˵ºÃµÄºöÂÔº¯ÊýÄØ |
Õâ¸öº¯Êý¾ÍÊÇÕâÑù×ӵġ£
ÆäʵDateÀàÐÍ¿ÉÒÔÖ±½Ó´«¸øJSON.stringify×ö²ÎÊý£¬ÆäÖеĵÀÀí¾ÍÊÇ£¬DateÀàÐÍÄÚÖÃÁËtoJSON·½·¨¡£
ËÄ¡¢Ð¡½áÒÔ¼°¹ØÓÚ¼æÈÝÐÔµÄÎÊÌâ
µ½ÕâÀïÖÕÓÚ°Ñ£¬JSONºÍJSÖеÄJSON£¬ÊáÀíÁËÒ»±é£¬Ò²¶ÔÀïÃæµÄϸ½ÚºÍ×¢Òâµã½øÐÐÁËÒ»´Î±éÀú£¬ÖªµÀJSONÊÇÒ»ÖÖÓï·¨ÉÏÑÜÉúÓÚJSÓïÑÔµÄÒ»ÖÖÇáÁ¿¼¶µÄÊý¾Ý½»»»¸ñʽ£¬Ò²Ã÷°×ÁËJSONÏà¶ÔÓÚÒ»°ãµÄJSÊý¾Ý½á¹¹£¨ÓÈÆäÊǶÔÏ󣩵IJî±ð£¬¸ü½øÒ»²½£¬×ÐϸµØÌÖÂÛÁËJSÖйØÓÚJSON´¦ÀíµÄ3¸öº¯ÊýºÍϸ½Ú¡£
²»¹ýÒź¶µÄÊÇ£¬ÒÔÉÏËùÓõÄ3¸öº¯Êý£¬²»¼æÈÝIE7ÒÔ¼°IE7֮ǰµÄä¯ÀÀÆ÷¡£ÓйؼæÈÝÐÔµÄÌÖÂÛ£¬Áô´ýÖ®ºó°É¡£Èç¹ûÏëÖ±½ÓÔÚÓ¦ÓÃÉϽâ¾ö¼æÈÝÐÔ£¬ÄÇô¿ÉÒÔÌ×ÓÃJSON¹Ù·½µÄjs£¬¿ÉÒÔ½â¾ö¡£ |