json_encode()ºÍjson_decode()µÄÓ÷¨
´Ó5.2°æ±¾¿ªÊ¼£¬PHPÔÉúÌṩjson_encode()ºÍjson_decode()º¯Êý£¬Ç°ÕßÓÃÓÚ±àÂ룬ºóÕßÓÃÓÚ½âÂë¡£
Ò»¡¢json_encode()
string json_encode ( mixed $value [, int $options = 0 ] )£º¸Ãº¯ÊýÖ÷ÒªÓÃÀ´½«Êý×éºÍ¶ÔÏó£¬×ª»»Îªjson¸ñʽ¡£$valueΪҪת»»µÄÊý¾Ý£¬³ýÁËresource ÀàÐÍÖ®Í⣬¿ÉÒÔΪÈκÎÊý¾ÝÀàÐÍ¡£
¸Ãº¯ÊýÖ»ÄܽÓÊÜ UTF-8 ±àÂëµÄÊý¾Ý£¬·ñÔò»áµÃµ½¿Õ×Ö·û»òÕßnull¡£
$arr = array ('a'=>1,'b'=>2,'c'=>3,'d'=>4,'e'=>5); ¡¡¡¡ echo json_encode($arr);
Êä³öÈçÏ£º
{"a":1,"b":2,"c":3,"d":4,"e":5}¶ÔÓÚ¶ÔÏóµÄת»»£º
$test->site = 'ido321.com'; ¡¡¡¡ $test->id = 22; ¡¡¡¡ $test->name = 'dwqs'; ¡¡¡¡ echo json_encode($test);
Êä³öÊÇ:
{ ¡¡¡¡¡¡¡¡"site":"ido321.com", ¡¡¡¡ ¡¡¡¡¡¡¡¡"id":22, ¡¡¡¡ ¡¡¡¡¡¡¡¡"name":"dwqs", ¡¡¡¡}¶þ¡¢±àÂëÊý×é PHPÖ§³Ö¹ØÁªºÍË÷ÒýÊý×飬µ«ÓÉÓÚjavascript²»Ö§³Ö¹ØÁªÊý×飬ËùÒÔjson_encode()Ö»½«Ë÷ÒýÊý×飨indexed array£©×ªÎªÊý×é¸ñʽ£¬¶ø½«¹ØÁªÊý×飨associative array£©×ªÎª¶ÔÏó¸ñʽ¡£
$arr = Array('one', 'two', 'three'); ¡¡¡¡ echo json_encode($arr);½á¹ûΪ£º
["one","two","three"]¶ø¶ÔÓÚ¹ØÁªÊý×é
$arr = Array(1=>'one', 2=>'two', 3=>'three'); echo json_encode($arr);½á¹ûΪ
{"1":"one","2":"two","3":"three"}
×¢Ò⣬Êý¾Ý¸ñʽ´Ó”[]”£¨Êý×飩±ä³ÉÁË”{}”£¨¶ÔÏ󣩡£Èç¹ûÄãÐèÒª½«”Ë÷ÒýÊý×é”Ç¿ÖÆ×ª»¯³É”¶ÔÏ󔣬¿ÉÒÔÕâÑùд
$arr = Array('one', 'two', 'three'); echo json_encode((object)$arr);½á¹ûÊÇ
{"0":"one","1":"two","2":"three"}»¹ÓÐÒ»ÖÖ·½Ê½
echo json_encode($arr,JSON_FORCE_OBJECT); //Êä³ö£º{"0":"one","1":"two","2":"three"}Èý¡¢¶ÔÀàµÄת»»
class Test { const TEST="test"; public $name="dwqs"; private $age=21; protected $sex="male"; public function getTest() { return self::TEST; } } $obj=new Test; echo json_encode($obj);Êä³ö½á¹û
{"name":"dwqs"}³ýÁ˹«¿ª±äÁ¿£¨public£©£¬ÆäËû¶«Î÷£¨³£Á¿¡¢Ë½ÓбäÁ¿¡¢·½·¨µÈµÈ£©¶¼ÒÅʧÁË
ËÄ¡¢json_decode()
¸Ãº¯ÊýÖ÷ÒªÊÇ¶Ô JSON ¸ñʽµÄ×Ö·û´®½øÐбàÂë,mixed json_decode ( string $json [, bool $assoc ] ),½ÓÊÜÒ»¸ö JSON ¸ñʽµÄ×Ö·û´®²¢ÇÒ°ÑËüת»»Îª PHP ±äÁ¿¡£
<?php $json = '{"a":1,"b":2,"c":3,"d":4,"e":5}'; var_dump(json_decode($json)); var_dump(json_decode($json, true)); ?>
¶ÔÓ¦µÄÊä³öÊÇ
object(stdClass)#1 (5) { ["a"] => int(1) ["b"] => int(2) ["c"] => int(3) ["d"] => int(4) ["e"] => int(5) } array(5) { ["a"] => int(1) ["b"] => int(2) ["c"] => int(3) ["d"] => int(4) ["e"] => int(5) }ͨ³£Çé¿öÏ£¬json_decode()×ÜÊÇ·µ»ØÒ»¸öPHP¶ÔÏ󣬶ø²»ÊÇÊý×飻Èç¹ûÏëÒªÇ¿ÖÆÉú³ÉPHP¹ØÁªÊý×飬json_decode()ÐèÒª¼ÓÒ»¸ö²ÎÊýtrue£¬¾ÍÄÜ·µ»Ø¹ØÁªÊý×é¡£¶ÔÓÚjson½âÂ룬ºÜÈÝÒ׳ö´í£¬
$bad_json = "{ 'bar': 'baz' }"; ¡¡¡¡ $bad_json = '{ bar: "baz" }'; ¡¡¡¡ $bad_json = '{ "bar": "baz", }';¶ÔÕâÈý¸ö×Ö·û´®Ö´ÐÐjson_decode()¶¼½«·µ»Ønull£¬²¢ÇÒ±¨´í¡£
µÚÒ»¸öµÄ´íÎóÊÇ£¬jsonµÄ·Ö¸ô·û£¨delimiter£©Ö»ÔÊÐíʹÓÃË«ÒýºÅ£¬²»ÄÜʹÓõ¥ÒýºÅ¡£µÚ¶þ¸öµÄ´íÎóÊÇ£¬jsonÃûÖµ¶ÔµÄ”Ãû”£¨Ã°ºÅ×ó±ßµÄ²¿·Ö£©£¬ÈκÎÇé¿ö϶¼±ØÐëʹÓÃË«ÒýºÅ¡£µÚÈý¸öµÄ´íÎóÊÇ£¬×îºóÒ»¸öÖµÖ®ºó²»ÄÜÌí¼Ó¶ººÅ£¨trailing comma£©¡£
ÁíÍ⣬jsonÖ»ÄÜÓÃÀ´±íʾ¶ÔÏó£¨object£©ºÍÊý×飨array£©£¬Èç¹û¶ÔÒ»¸ö×Ö·û´®»òÊýֵʹÓÃjson_decode()£¬½«»á·µ»Ønull¡£
±¾ÎÄת×Ô£ºµÍü~dz˼ ·Ç±¾Õ¾Ô´´ Èç¹ûÇÖ·¸ÁËÄúµÄȨÁ¦ ÇëEmail£º13612963@qq.com ¸æÖª
Ïà¹ØÎÄÕÂ
¡¡