① 在php中怎麼接收post過來的JSON數據
在PHP中接收POST過來的JSON數據,通常有兩種方式。一種是直接使用file_get_contents函數獲取原始數據,然後利用json_decode將JSON字元串轉換為PHP數組或對象。例如:file_get_contents('php://input');獲取數據後,使用json_decode(file_get_contents('php://input'), true)進行解碼。另一種方式是通過$_POST超全局變數接收,這種方式需要在發送請求時設置Content-Type為application/json。例如:$_POST['data'],但這種方式並不推薦,因為$_POST通常用於接收表單數據。
下面是一個完整的示例,展示如何在PHP中處理POST過來的JSON數據:
首先,假設前端使用JavaScript發送JSON數據,代碼如下:
JavaScript代碼示例:
function sendData() {
var data = {'zhangsan':'lisi', 'age':18};
var xhr = new XMLHttpRequest();
xhr.open('POST', '/path/to/php/script', true);
xhr.setRequestHeader('Content-Type', 'application/json');
xhr.onreadystatechange = function () {
if (xhr.readyState === 4 && xhr.status === 200) {
console.log(xhr.responseText);
}
};
xhr.send(JSON.stringify(data));
}
然後在PHP中接收並處理這些數據:
PHP代碼示例:
<?php
$jsonData = file_get_contents('php://input');
$data = json_decode($jsonData, true);
echo "接收到的數據:";
print_r($data);
?>
上面的PHP代碼首先使用file_get_contents('php://input')獲取原始數據,然後通過json_decode將其轉換為PHP數組。接著,使用print_r輸出數據內容。
這種方式不僅適用於POST請求,也適用於其他HTTP方法。通過這種方式,PHP能夠靈活地處理不同來源和格式的數據,增強應用的通用性和可維護性。
② PHP取得JSON中的值
<?php
$a='{"from":"kor","to":"zh","trans_result":[{"src":".","dst":""}]}';
$tt=json_decode($a,true);
var_mp($tt);
echo"--------------- ";
echo$tt['trans_result'][0]['dst'];
?>
執行結果如下圖
③ PHP涓濡備綍璇誨彇榪滅▼緗戦〉涓璲son鐨勫瑰簲鍐呭瑰苟杞鎹涓哄墠絝鏄劇ず
浣犲厛瀹氫箟濂藉墠絝灞曠ず鐨勪綅緗錛岀劧鍚庨氳繃璁塊棶url鑾峰緱json鏁版嵁錛岀敤php瑙f瀽json錛屽瑰彿鍏ュ駭灝卞彲浠ヤ簡銆
④ php 通過curl傳遞的json數據如何獲取
你將$hello直接解析成了jsons 如果伺服器端要接收。 你可以在
$hello=json_en......;下一行加上
$data=array('hello'=>$hello);
將curl_setopt($ch,CURLOPT_POSTFIELDS,$hello);改成curl_setopt($ch,CURLOPT_POSTFIELDS,$data);
在URL端你可以用var_mp($_POST);
⑤ 如何用php調用外部介面json數據
一般使用php發送請求,獲取返回的數據,進行解析;
<?php
$url="介面地址";
//發送請求獲取返回值,file_get_contents只支持get請求,post使用curl
$json = file_get_contents($url);
//把json數據轉化成數組
$data = json_decode($json,true);
//列印看看
print_r($data);
?>
⑥ 請教php大神,如何提取一個json數據里的某值
需要准備的材料分別是:電腦、php編輯器、瀏覽器。
1、首先,打開php編輯器,新建php文件,例如:index.php,填充問題基礎代碼。
⑦ 怎麼用php獲取遠程端的json數據,不會用,求大神解釋
file_get_contents是可以的,
<?php
echo"<metahttp-equiv='Content-Type'content='text/html;charset=utf-8'/>";
$m=file_get_contents("https://openapi.youku.com/v2/videos/show_basic.json?video_id=XOTQ1NDU5ODk2&client_id=319cdac7553fa298");
print_r(json_decode($m));
?>
輸出結果: