jsonÊý¾ÝÔõôµ÷»ñÈ¡ thinkphp
ÔÚweb¿ª·¢ÖУ¬json£¨javascript object notation£©ÒѾ³ÉΪÁËÒ»ÖÖ³£¼ûµÄÊý¾Ý½»»¥ÃûÌã¬ÆäÊܵ½ÁËÆÕ±éµÄÓ¦Óá£ÔÚphp¿ª·¢ÖУ¬thinkphpÊÇÒ»ÖÖÆÕ±éʹÓõÄmvc¿ò¼Ü£¬ÆäÔÚ´¦ÀíjsonÊý¾Ý·½ÃæµÄÄÜÁ¦Ò²ÊǺÜÊÇÇ¿Ê¢µÄ¡£±¾ÎĽ«ÏÈÈÝÔõÑùʹÓÃthinkphpÀ´Å²ÓûñÈ¡jsonÊý¾Ý¡£
Ò»¡¢Ã÷È·JSONÊý¾Ý
ÔÚÏàʶÔõÑùŲÓûñÈ¡JSONÊý¾Ý֮ǰ£¬ÎÒÃÇÐèÒªÏÈÏàʶJSONÊý¾ÝÃûÌÃÊÇʲôÑù×ӵġ£ÔÚJavaScriptÖУ¬JSONÊý¾Ý»ù±¾ÉÏÊÇÓÉһЩ¼üÖµ¶Ô×é³ÉµÄÐÎʽ£¬´ó²¿·ÖÇéÐÎ϶¼ÊÇÒÔ×Ö·û´®µÄÐÎʽ·ºÆð¡£ÀýÈ磺
{
"name" : "Tom", "age" : 25, "address" : { "city" : "Shanghai", "street" : "Nanjing Road", "postcode" : 200001 }
µÇ¼ºó¸´ÖÆ
}
Á¬Ã¦Ñ§Ï°¡°PHPÃâ·ÑѧϰÌõ¼Ç£¨ÉîÈ룩¡±£»
ÕâÊÇÒ»¸ö½ÏÁ¿³£¼ûµÄJSONÃûÌõÄÀý×Ó£¬Ëü°üÀ¨ÁËÒ»¸ö¹¤¾ß£¬ÆäÖаüÀ¨ÁËÈý¸ö¼üÖµ¶Ô£¬³ýÁËageÊÇÒ»¸öÊý×ÖÒÔÍ⣬ÆäÓ඼ÊÇ×Ö·û´®¡£ÔÚÕâ¸öJSON¹¤¾ßÖУ¬ÓÖ°üÀ¨ÁËÁíÒ»¸ö¹¤¾ß£¬Æä¼üÖµ¶ÔÒ²ÊÇ×Ö·û´®ºÍÊý×Ö¡£ËäÈ»£¬Ò»¸öJSONÊý¾Ý¿ÉÒÔºÜÖØ´ó£¬ÉõÖÁ¿ÉÒÔ°üÀ¨Êý×éºÍ¸ü¶àµÄǶÌ×¹¤¾ß¡£
¶þ¡¢thinkphp´¦ÀíJSONÊý¾Ý
ÔÚthinkphp¿ò¼ÜÖУ¬ÐèҪʹÓõ½Ò»¸ö½Ð×öJsonµÄÀ࣬ËüλÓÚthinkesponseJson.phpÎļþÖС£Ê¹ÓÃÕâ¸öÀàÀ´´¦ÀíJSONÊý¾ÝÊǺÜÊǼòÆӵģ¬²¢ÇÒËü»¹ÌṩÁËÐí¶àÓÐÓõÄÒªÁì¡£ÔÚthinkphpÖУ¬¿ÉÒÔͨ¹ýÒÔÏ´úÂëÀ´»ñÈ¡Json¹¤¾ß£º
use thinkesponseJson;
$Json = new Json();
ͨ¹ýÕâ¸ö¹¤¾ß£¬ÎÒÃÇ¿ÉÒÔʹÓÃһЩҪÁ콫Êý¾Ýת»»ÎªJSONÃûÌã¬ÒÔ±ãÓÚÔÚWebÓ¦ÓóÌÐòÖоÙÐÐת´ïÏ¢ÕùÎö¡£
Èý¡¢»ñÈ¡JSONÊý¾Ý
ÔÚthinkphp¿ò¼ÜÖлñÈ¡JSONÊý¾ÝÒ»Ñùƽ³£¿ÉÒÔ·ÖΪÁ½²¿·Ö£¬Ê×ÏÈÊÇ´ÓÔ¶³Ì»ñÈ¡Êý¾Ý£¬È»ºóÔÙ´ÓÍâµØÆÊÎöËü¡£
1.´ÓÔ¶³Ì»ñÈ¡JSONÊý¾Ý
»ñÈ¡JSONÊý¾Ý×î³£¼ûµÄÒªÁì¾ÍÊÇͨ¹ýHTTPÇëÇó¡£Ê¹ÓÃthinkphpÄÚÖõÄcurl¿â£¬ÎÒÃÇ¿ÉÒÔºÜÀû±ãµØ¾ÙÐÐHTTPÇëÇó£¬ÈçÏ£º
use thinkacadeHttp;
$data = Http::get(‘https://example.com/api/getjsondata’);
ÕâÀïÎÒÃÇʹÓÃÁËgetÒªÁìÌᳫһ¸öHTTP GETÇëÇ󣬴ÓÔ¶³Ì»ñÈ¡JSONÊý¾Ý¡£ÆäÖУ¬https://example.com/api/getjsondataÊÇÒ»¸öʾÀý£¬´ú±íÁËÄãÐèÒª»ñÈ¡Êý¾ÝµÄURLµØµã¡£ËäÈ»£¬Ä㻹¿ÉÒÔʹÓÃpostµÈÆäËûHTTPÒªÁìÀ´»ñÈ¡JSONÊý¾Ý¡£
ÔÚ»ñÈ¡ÍêÊý¾Ýºó£¬ÎÒÃÇͨ³£ÐèÒª¶ÔËü¾ÙÐÐÆÊÎö£¬²Å»ªÔÚWebÓ¦ÓóÌÐòÖÐʹÓá£thinkphpÌṩÁËÐí¶àJSONÆÊÎö¿â£¬°üÀ¨PHP×Ô´øµÄjson_decode()º¯Êý£¬ÒÔ¼°ÆäËûµÚÈý·½¿â£¬ÈçZendJsonJsonµÈ¡£ÕâÀïÒÔPHP×Ô´øµÄjson_decode()º¯ÊýΪÀý£º
$json_data = Http::get(‘https://example.com/api/getjsondata’);
$data = json_decode($json_data, true);
ÕâÀïÎÒÃÇʹÓÃjson_decode()º¯Êý½«JSONÊý¾Ýת»»ÎªÁËPHPÊý×飬ÒÔ±ãÓÚÔÚWebÓ¦ÓóÌÐòÖÐʹÓá£×¢ÖØ£¬ÎÒÃÇÉèÖÃÁ˵ڶþ¸ö²ÎÊýΪtrue£¬ÕâÒâζ×Å·µ»ØµÄÊý×éÊǹØÁªÊý×é¶ø²»Êǹ¤¾ß£¬Õâͨ³£¸üÀû±ã´¦Àí¡£
2.´ÓÍâµØ»ñÈ¡JSONÊý¾Ý
ÓÐʱ¼ä£¬ÄãÐèÒª»ñÈ¡´æ´¢ÔÚÍâµØµÄJSONÊý¾Ý£¬Õâͨ³£ÊÇ´ÓÒ»¸öÎļþ¶ÁÈ¡¡£ÔÚthinkphpÖУ¬Ê¹ÓÃFileÀà´ÓÎļþÖжÁÈ¡Êý¾ÝºÜÊÇÈÝÒ×£¬ÈçÏ£º
use thinkacadeFilesystem;
$data = Filesystem::readFile(‘path/to/jsonfile.json’);
ÕâÀïÎÒÃÇʹÓÃFileÀà¶ÁÈ¡ÁËÒ»¸öJSONÎļþµÄÄÚÈÝ£¬Æä·¾¶Îªpath/to/jsonfile.json¡£×¢ÖØ£¬ÔÚ¶ÁÈ¡Íê³Éºó£¬ÐèÒªÓÃjson_decode()º¯Êý½«×Ö·û´®ÆÊÎö³ÉPHPÊý×飬ÒÔ±ãÓÚÔÚWebÓ¦ÓóÌÐòÖÐʹÓá£
ËÄ¡¢×ܽá
ÔÚ±¾ÎÄÖУ¬ÎÒÃÇÏÈÈÝÁËʹÓÃthinkphp¿ò¼Ü´¦ÀíJSONÊý¾ÝµÄÒªÁ졣ͨ¹ýʹÓÃJsonÀ࣬ÎÒÃÇ¿ÉÒÔÇáËɵؽ«PHPÊý×éת»»³ÉJSON×Ö·û´®£¬ÒÔ¼°½«JSON×Ö·û´®×ª»»³ÉPHPÊý×é¡£ÕâÑù£¬ÎÒÃǾͿÉÒÔÔÚWebÓ¦ÓóÌÐòÖÐʹÓÃJSONÊý¾Ý£¬´Ó¶øʵÏÖÊý¾ÝµÄ½»»¥ºÍת´ï¡£Í¬Ê±£¬ÎÒÃÇ»¹ÏÈÈÝÁË´ÓÔ¶³Ì»ñÈ¡ÒÔ¼°´ÓÍâµØ¶ÁÈ¡JSONÊý¾ÝµÄÒªÁ죬Õâ¹ØÓÚÏÖʵ¿ª·¢Ó¦ÓóÌÐò»áºÜÊÇÓÐÓá£
ÒÔÉϾÍÊÇjsonÊý¾ÝÔõôµ÷»ñÈ¡ thinkphpµÄÏêϸÄÚÈÝ£¬¸ü¶àÇë¹Ø×¢±¾ÍøÄÚÆäËüÏà¹ØÎÄÕ£¡