people.musicians[1].lastName = "Rachmaninov";
ÔÚ½«×Ö·û´®×ª»»Îª JavaScript ¶ÔÏóÖ®ºó£¬¾Í¿ÉÒÔÏñÕâÑùÐ޸ıäÁ¿ÖеÄÊý¾Ý¡£
ת»»»Ø×Ö·û´®
µ±È»£¬Èç¹û²»ÄÜÇáËɵؽ«¶ÔÏóת»»»Ø±¾ÎÄÌáµ½µÄÎı¾¸ñʽ£¬ÄÇôËùÓÐÊý¾ÝÐ޸Ķ¼Ã»ÓÐÌ«´óµÄ¼ÛÖµ¡£ÔÚ JavaScript ÖÐÕâÖÖת»»Ò²ºÜ¼òµ¥£º
String newJSONtext = people.toJSONString();
ÕâÑù¾ÍÐÐÁË£¡ÏÖÔھͻñµÃÁËÒ»¸ö¿ÉÒÔÔÚÈκεط½Ê¹ÓõÄÎı¾×Ö·û´®£¬ÀýÈ磬¿ÉÒÔ½«ËüÓÃ×÷ Ajax Ó¦ÓóÌÐòÖеÄÇëÇó×Ö·û´®¡£
¸üÖØÒªµÄÊÇ£¬¿ÉÒÔ½«ÈκΠJavaScript ¶ÔÏóת»»Îª JSON Îı¾¡£²¢·ÇÖ»ÄÜ´¦ÀíÔÀ´Óà JSON ×Ö·û´®¸³ÖµµÄ±äÁ¿¡£ÎªÁ˶ÔÃûΪ myObject µÄ¶ÔÏó½øÐÐת»»£¬Ö»ÐèÖ´ÐÐÏàͬÐÎʽµÄÃüÁ
String myObjectInJSON = myObject.toJSONString();
Õâ¾ÍÊÇ JSON Ó뱾ϵÁÐÌÖÂ󵀮äËûÊý¾Ý¸ñʽ֮¼ä×î´óµÄ²îÒì¡£Èç¹ûʹÓà JSON£¬Ö»Ðèµ÷ÓÃÒ»¸ö¼òµ¥µÄº¯Êý£¬¾Í¿ÉÒÔ»ñµÃ¾¹ý¸ñʽ»¯µÄÊý¾Ý£¬¿ÉÒÔÖ±½ÓʹÓÃÁË¡£¶ÔÓÚÆäËûÊý¾Ý¸ñʽ£¬ÐèÒªÔÚÔʼÊý¾ÝºÍ¸ñʽ»¯Êý¾ÝÖ®¼ä½øÐÐת»»¡£¼´Ê¹Ê¹Óà Document Object Model ÕâÑùµÄ API£¨ÌṩÁ˽«×Ô¼ºµÄÊý¾Ý½á¹¹×ª»»ÎªÎı¾µÄº¯Êý£©£¬Ò²ÐèҪѧϰÕâ¸ö API ²¢Ê¹Óà API µÄ¶ÔÏ󣬶ø²»ÊÇʹÓÃÔÉúµÄ JavaScript ¶ÔÏóºÍÓï·¨¡£
×îÖÕ½áÂÛÊÇ£¬Èç¹ûÒª´¦Àí´óÁ¿ JavaScript ¶ÔÏó£¬ÄÇô JSON ¼¸ºõ¿Ï¶¨ÊÇÒ»¸öºÃÑ¡Ôñ£¬ÕâÑù¾Í¿ÉÒÔÇáËɵؽ«Êý¾Ýת»»Îª¿ÉÒÔÔÚÇëÇóÖз¢Ë͸ø·þÎñÆ÷¶Ë³ÌÐòµÄ¸ñʽ¡£
JSONÔÚPHPÖеÄÓ¦ÓÃ
»¥ÁªÍøµÄ½ñÌ죬AJAXÒѾ²»ÊÇʲôİÉúµÄ´Ê»ãÁË¡£ËµÆðAJAX£¬¿ÉÄÜ»áÁ¢¼´ÏëÆðÒòRSS¶øÐËÆðµÄXML¡£XMLµÄ½âÎö£¬¿ÖÅÂÒѾ²»ÊÇʲôÄÑÌâÁË£¬ÌرðÊÇ PHP5£¬´óÁ¿µÄXML½âÎöÆ÷µÄÓ¿ÏÖ£¬Èç×îÇáÁ¿¼¶µÄSimpleXML¡£²»¹ý¶ÔÓÚAJAXÀ´Ëµ£¬XMLµÄ½âÎö¸üÇãÏòÓÚǰ̨JavascriptµÄÖ§³Ö¶È¡£ ÎÒÏëËùÓнâÎö¹ýXMLµÄÈË£¬¶¼»áÒòÊ÷ºÍ½Úµã¶øÍ·´ó¡£²»¿É·ñÈÏ£¬XMLÊǺܲ»´íµÄÊý¾Ý´æ´¢·½Ê½£¬µ«ÊÇÆäÁé»îǡǡÔì³ÉÁËÆä½âÎöµÄÀ§ÄÑ¡£µ±È»£¬ÕâÀïËùÖ¸µÄÀ§ÄÑ£¬ ÊÇÏà¶ÔÓÚ±¾ÎĵÄÖ÷½Ç££JSON¶øÑÔ¡£
JSONΪºÎÎÎҾͲ»Öظ´¸ÅÄîÁË¡£Í¨Ë×µÄ˵£¬ËüÊÇÒ»ÖÖÊý¾ÝµÄ´æ´¢¸ñʽ£¬¾ÍÏñPHPÐòÁл¯ºóµÄ×Ö·û´®Ò»Ñù¡£ËüÊÇÒ»ÖÖÊý¾ÝÃèÊö¡£±ÈÈçÎÒÃǽ«Ò» ¸öÊý×éÐòÁл¯ºó´æ·Å£¬¾Í¿ÉÒÔºÜÈÝÒ׵ķ´ÐòÁл¯ºóÓ¦Óá£JSONÒ²ÊÇÈç´Ë£¬Ö»²»¹ýËû´î½¨µÄÊǿͻ§¶ËJavascriptºÍ·þÎñ¶ËPHPµÄ½»»¥ÇÅÁº¡£ÎÒÃÇÓà PHPÉú³ÉJSONºóµÄ×Ö·û´®£¬È»ºó°ÑÕâ¸ö×Ö·û´®´«¸øÇ°Ì¨Javascript£¬Javascirpt¾Í¿ÉÒÔºÜÈÝÒ׵Ľ«Æä·´JSONÈ»ºóÓ¦Óá£ËµÍ¨Ë׵㣬 ËüÕæµÄºÜÏñÊý×é¡£
ÑÔ¹éÕý´«£¬ÈçºÎʹÓÃJSON¡£PHP5.2¿ªÊ¼ÄÚÖÃÁËJSONµÄÖ§³Ö¡£µ±È»£¬Èç¹ûµÍÓÚÕâ¸ö°æ±¾µÄ»°£¬ÄÇôÊÐÃæÉÏÓкܶàPHP°æ±¾µÄʵÏÖ£¬Ëæ ±ãÏÂÒ»¸öÓþÍOKÀ²¡£ÏÖÔÚÖ÷ÒªÊÇ˵˵PHPÄÚÖÃÖ§³ÖµÄJSON¡£ºÜ¼òµ¥£¬Á½¸öº¯Êý£ºjson_encodeºÍjson_decode£¨¸úÐòÁл¯ºÜÏñÀ²£©¡£ Ò»¸ö±àÂ룬һ¸ö½âÂë¡£ÏÈ¿´¿´±àÂëµÄʹÓãº
<?php
$arr = array(
'name' => '³ÂÒãöÎ',
'nick' => 'Éî¿Õ',
'contact' => array(
'email' => 'shenkong at qq dot com',
'website' => 'http://www.chenyixin.com',
)
);
$json_string = json_encode($arr);
echo $json_string;
?>
ºÜ¼òµ¥µÄ½«Ò»¸öÊý×éJSONÁË¡£ÐèÒªÖ¸³öµÄÊÇ£¬ÔÚ·ÇUTF-8±àÂëÏ£¬ÖÐÎÄ×Ö·û½«²»¿É±»encode£¬½á¹û»á³öÀ´¿ÕÖµ£¬ËùÒÔ£¬Èç¹ûÄãʹÓà gb2312±àдPHP´úÂ룬ÄÇô¾ÍÐèÒª½«°üº¬ÖÐÎĵÄÄÚÈÝʹÓÃiconv»òÕßmbתΪUTF-8ÔÙ½øÐÐjson_encode£¬ÉÏÃæÊä³ö½á¹ûÈçÏ£º
{"name":"\u9648\u6bc5\u946b","nick":"\u6df1\u7a7a","contact":{"email":"shenkong at qq dot com","website":"http:\/\/www.chenyixin.com"}}
ÎÒ¶¼ËµÁ˺ÍÐòÁл¯ºÜÏñ£¬Ä㻹²»ÐÅ¡£±àÂëºó¾ÍÒª½âÂ룬PHPÌṩÁËÏàÓ¦µÄº¯Êýjson_decode£¬json_decodeÖ´Ðк󣬽«»áµÃµ½Ò»¸ö¶ÔÏ󣬲Ù×÷ÈçÏ£º
<?php
$arr = array(
'name' => '³ÂÒãöÎ',
'nick' => 'Éî¿Õ',
'contact' => array(
'email' => 'shenkong at qq dot com',
'website' => 'http://www.chenyixin.com',
)
);
$json_string = json_encode($arr);
$obj = json_decode($json_string);
print_r($obj);
?>
·ÃÎʶÔÏóÄÚµÄÊôÐÔ»á°É£¿$obj->name£¬ÕâÑù×ӵ쬵±È»£¬Ò²¿ÉÒÔ°ÑËüתλÊý×飬·½±ãµ÷ÓÃÀ²£º
$json_string = json_encode($arr);
$obj = json_decode($json_string);
$arr = (array) $obj;
print_r($arr);
PHPתÀ´×ªÈ¥µÄÓÃ;²»ÊÇÌØ±ð´ó£¬³ýÁË»º´æÉú³É£¬¸Ð¾õ»¹²»ÈçÖ±½Ó´æÊý×éÄØ£¬²»¹ý£¬µ±ÄãºÍǰ̨½»»¥µÄʱºò£¬ËüµÄ×÷ÓþͳöÀ´¿©£¬ÏÂÃæ¿´¿´ÎÒÔõôÓÃJavascriptÀ´Ê¹ÓÃÕâ¶Î×Ö·û£º
<script type="text/javascript">
var arr = {"name":"\u9648\u6bc5\u946b","nick":"\u6df1\u7a7a","contact":{"email":"shenkong at qq dot com","website":"http:\/\/www.chenyixin.com"}};
alert(arr.name)
</script>
ÉÏÃæÖУ¬Ö±½Ó½«Õâ¸ö×Ö·û´®¸³¸øÒ»¸ö±äÁ¿£¬Ëü¾Í±ä³ÉÒ»¸öJavascriptÊý×éÁË£¨×¨Òµ»¯ÊõÓïÓ¦¸Ã²»½ÐÊý×飬²»¹ýÓÉÓÚPHPµÄϰ¹ßÎÊÌ⣬ÎÒ¾Í Ò»Ö±½ÐÊý×éºÃÁË£¬·½±ãÀí½â£©¡£ÕâÑù£¬¿ÉÒԺܷ½±ãµÄ¶Ôarr½øÐбéÀú»òÕßÈÎÒâ×öÄãÏë×öµÄÊÂÇéÁË¡£Ð´µ½ÕâÀºÃÏñ¶¼Ã»Ìáµ½AJAXŶ£¿ÊÇŶ£¬ÁªÏëһϣ¬Èç¹û·þ Îñ¶Ë·µ»ØµÄresponseTextÓÃJSON¹ýµÄ×Ö·û´®´úÌæXMLµÄ»°£¬Ç°Ì¨Javascript´¦ÀíÆðÀ´ÊDz»ÊǺܷ½±ãÄØ£¿¹·Æ¤¸àÒ©¾ÍÊÇÕâÑùÓõġ£
Æäʵдµ½ÕâÀ³ýÁËÊý¾ÝµÄ´æ´¢¸ñʽ²»Ì«Ò»ÑùÍ⣬JSONºÍXMLҲûʲô̫´óÇø±ðŶ£¬²»¹ýÏÂÃæÎÒ˵µÄÒ»µã¡£ËäÈ»ºÍXMLû¶à´ó¹ØÏµ£¬²»¹ý£¬ ¿ÉÒÔ˵Ã÷JSON¸ü´ó·¶Î§µÄÓ¦Óã¬ÄǾÍÊÇ£¬¿çÓòµÄÊý¾Ýµ÷Óá£ÓÉÓÚ°²È«ÐÔÎÊÌ⣬AJAX²»Ö§³Ö¿çÓòµ÷Óã¬ÕâÑùÒªµ÷Óò»Í¬ÓòÃûϵÄÊý¾Ý£¬ºÜÂ鷳Ŷ£¬ËäÈ»Óнâ¾ö ·½°¸£¨stoneÔÚËûµÄ½²×ùÉÏÌáµ½¹ýÁË´úÀí°¡Ê²Ã´µÄËäÈ»Ìý²»¶®µ«ÊÇÖªµÀÄܽâ¾ö£©¡£ÎÒдÁ½¸öÎļþ£¬×ãÒÔչʾ¿çÓòµ÷ÓÃÁË¡£
Ö÷µ÷Îļþindex.html
<script type="text/javascript">
function getProfile(str) {
var arr = str;
document.getElementById('nick').innerHTML = arr.nick;
}
</script>
<body><div></div></body>
<script type="text/javascript" src="http://www.openphp.cn/demo/profile.php"></script>
±»µ÷Îļþprofile.php
<?php
$arr = array(
'name' => '³ÂÒãöÎ',
'nick' => 'Éî¿Õ',
'contact' => array(
'email' => 'shenkong at qq dot com',
'website' => 'http://www.chenyixin.com',
)
);
$json_string = json_encode($arr);
echo "getProfile($json_string)";
?>
ºÜÏÔÈ»£¬µ±index.htmlµ÷ÓÃprofile.phpʱ£¬JSON×Ö·û´®Éú³É£¬²¢×÷Ϊ²ÎÊý´«ÈëgetProfile£¬È»ºó½«êdzƲåÈëµ½divÖУ¬ÕâÑùÒ»´Î¿çÓòÊý¾Ý½»»¥¾ÍÍê³ÉÁË£¬ÊDz»ÊÇÌØ±ð¼òµ¥¡£¼ÈÈ»JSONÕâô¼òµ¥Ò×ÓöøÇÒºÃÓ㬻¹µÈÊ²Ã´ÄØ£¿^_^
·þÎñÆ÷¶ËµÄ JSON
¡¡