?php
10年積累的成都網(wǎng)站建設、成都網(wǎng)站設計經(jīng)驗,可以快速應對客戶對網(wǎng)站的新想法和需求。提供各種問題對應的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡服務。我雖然不認識你,你也不認識我。但先網(wǎng)站設計后付款的網(wǎng)站建設流程,更有龍勝免費網(wǎng)站建設讓你可以放心的選擇與我們合作。
$str='{"sign":true,"message":"實時接口","data":[{"title":"北京快3","name":"bjk3","expect":"145130","opencode":"4,5,6","opentime":"2019-11-21 20:22:45","source":"sourcecode":""}]}';
$json=json_decode($str,false);
echo $json['data'][0]['expect'];
echo $json['data'][0]['opencode'];
echo $json['data'][0]['opentime'];
?
file_get_contents或者curl都可以
接收到數(shù)據(jù)后,可以使用php函數(shù)json_decode()把json轉換成數(shù)組或對象格式
?php
header("Content-type: text/json; charset=utf-8");
$arr = array(
array('id'=1,'name'='aaaa'),
array('id'=2,'name'='bbbb')
);
echo json_encode($arr);
?
PHP接收JSON格式的數(shù)據(jù)
在API服務中,目前流行采用json形式來交互。
給前端調用的接口輸出Json數(shù)據(jù),這個比較簡單,只需要組織好數(shù)據(jù),用json_encode($array) 轉化一下,前端就得到json格式的數(shù)據(jù)。
接收前端提交的json數(shù)據(jù)稍微復雜一點,原因是:PHP默認識別的數(shù)據(jù)類型是application/x-標準的數(shù)據(jù)類型。因此,對型如text/xml 或者 soap 或者 application/octet-stream 和application/json格式之類的內容無法解析,如果用$_POST數(shù)組來接收就會失敗!
此時可以使用$GLOBALS['HTTP_RAW_POST_DATA'] 或 file_get_contents('php://input') 來獲取提交的數(shù)據(jù)
查看手冊,可以發(fā)現(xiàn)$GLOBALS['HTTP_RAW_POST_DATA'] 和 $_POST的區(qū)別:
$_POST:通過 HTTP POST 方法傳遞的變量組成的數(shù)組,是自動全局變量。
$GLOBALS['HTTP_RAW_POST_DATA'] :總是產(chǎn)生 $HTTP_RAW_POST_DATA 變量包含有原始的 POST 數(shù)據(jù)。此變量僅在碰到未識別 MIME 類型的數(shù)據(jù)時產(chǎn)生。$HTTP_RAW_POST_DATA 對于 enctype="multipart/form-data" 表單數(shù)據(jù)不可用。也就是說基本上$GLOBALS['HTTP_RAW_POST_DATA'] 和 $_POST是一樣的。但是如果post過來的數(shù)據(jù)不是PHP能夠識別的,你可以用 $GLOBALS['HTTP_RAW_POST_DATA']來接收,比如 text/xml 或者 soap 等等。
補充說明:PHP默認識別的數(shù)據(jù)類型是application/x-標準的數(shù)據(jù)類型。
PHP直接的函數(shù)獲取或生成
用php生成json格式:json_encode('內容');
用php讀取json數(shù)據(jù):json_deconde('json數(shù)據(jù)');