json和php數(shù)組 格式的互相轉(zhuǎn)換,參考如下:$php_json = json_encode($json_arr); //把php數(shù)組格式轉(zhuǎn)換成 json 格式的數(shù)據(jù)echo $php_json;$php_json = json_decode($php_json); //再把json格式的數(shù)據(jù)轉(zhuǎn)換成php數(shù)組print_r($php_json);json數(shù)組$json = '[{"id":"22","name":"33","descn":"44"}]'; //json格式的數(shù)組轉(zhuǎn)換成 php的數(shù)組$arr = (Array)json_decode($json);echo $arr[0]-id; //用對(duì)象的方式訪問(wèn)
創(chuàng)新互聯(lián)-專(zhuān)業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性?xún)r(jià)比叢臺(tái)網(wǎng)站開(kāi)發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫(kù),直接使用。一站式叢臺(tái)網(wǎng)站制作公司更省心,省錢(qián),快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋叢臺(tái)地區(qū)。費(fèi)用合理售后完善,10年實(shí)體公司更值得信賴(lài)。
像這樣的問(wèn)題很常見(jiàn),沒(méi)必要在到處問(wèn),你多在后盾找找就不必這么麻煩了
PHP接收J(rèn)SON格式的數(shù)據(jù)
在API服務(wù)中,目前流行采用json形式來(lái)交互。
給前端調(diào)用的接口輸出Json數(shù)據(jù),這個(gè)比較簡(jiǎn)單,只需要組織好數(shù)據(jù),用json_encode($array) 轉(zhuǎn)化一下,前端就得到j(luò)son格式的數(shù)據(jù)。
接收前端提交的json數(shù)據(jù)稍微復(fù)雜一點(diǎn),原因是:PHP默認(rèn)識(shí)別的數(shù)據(jù)類(lèi)型是application/x-標(biāo)準(zhǔn)的數(shù)據(jù)類(lèi)型。因此,對(duì)型如text/xml 或者 soap 或者 application/octet-stream 和application/json格式之類(lèi)的內(nèi)容無(wú)法解析,如果用$_POST數(shù)組來(lái)接收就會(huì)失敗!
此時(shí)可以使用$GLOBALS['HTTP_RAW_POST_DATA'] 或 file_get_contents('php://input') 來(lái)獲取提交的數(shù)據(jù)
查看手冊(cè),可以發(fā)現(xiàn)$GLOBALS['HTTP_RAW_POST_DATA'] 和 $_POST的區(qū)別:
$_POST:通過(guò) HTTP POST 方法傳遞的變量組成的數(shù)組,是自動(dòng)全局變量。
$GLOBALS['HTTP_RAW_POST_DATA'] :總是產(chǎn)生 $HTTP_RAW_POST_DATA 變量包含有原始的 POST 數(shù)據(jù)。此變量?jī)H在碰到未識(shí)別 MIME 類(lèi)型的數(shù)據(jù)時(shí)產(chǎn)生。$HTTP_RAW_POST_DATA 對(duì)于 enctype="multipart/form-data" 表單數(shù)據(jù)不可用。也就是說(shuō)基本上$GLOBALS['HTTP_RAW_POST_DATA'] 和 $_POST是一樣的。但是如果post過(guò)來(lái)的數(shù)據(jù)不是PHP能夠識(shí)別的,你可以用 $GLOBALS['HTTP_RAW_POST_DATA']來(lái)接收,比如 text/xml 或者 soap 等等。
php 輸出JSON格式,使用json_encode函數(shù)即可
例如:
?php
header('Content-type: text/json');
$fruits = array (
"fruits" = array("a" = "orange", "b" = "banana", "c" = "apple"),
"numbers" = array(1, 2, 3, 4, 5, 6),
"holes" = array("first", 5 = "second", "third")
);
echo json_encode($fruits);
?
得到結(jié)果:
{"fruits":{"a":"orange","b":"banana","c":"apple"},"numbers":[1,2,3,4,5,6],"holes":{"0":"first","5":"second","6":"third"}}