導航:首頁 > 編程語言 > php接受json

php接受json

發布時間:2022-10-18 17:37:22

A. php怎麼接收json數據格式

PHP接收JSON格式的數據
在API服務中,目前流行採用json形式來交互。
給前端調用的介面輸出Json數據,這個比較簡單,只需要組織好數據,用json_encode($array) 轉化一下,前端就得到json格式的數據。
接收前端提交的json數據稍微復雜一點,原因是:PHP默認識別的數據類型是application/x-www.form-urlencoded標準的數據類型。因此,對型如text/xml 或者 soap 或者 application/octet-stream 和application/json格式之類的內容無法解析,如果用$_POST數組來接收就會失敗!
此時可以使用$GLOBALS['HTTP_RAW_POST_DATA'] 或 file_get_contents('php://input') 來獲取提交的數據
查看手冊,可以發現$GLOBALS['HTTP_RAW_POST_DATA'] 和 $_POST的區別:
$_POST:通過 HTTP POST 方法傳遞的變數組成的數組,是自動全局變數。
$GLOBALS['HTTP_RAW_POST_DATA'] :總是產生 $HTTP_RAW_POST_DATA 變數包含有原始的 POST 數據。此變數僅在碰到未識別 MIME 類型的數據時產生。$HTTP_RAW_POST_DATA 對於 enctype="multipart/form-data" 表單數據不可用。也就是說基本上$GLOBALS['HTTP_RAW_POST_DATA'] 和 $_POST是一樣的。但是如果post過來的數據不是PHP能夠識別的,你可以用 $GLOBALS['HTTP_RAW_POST_DATA']來接收,比如 text/xml 或者 soap 等等。

B. 在PHP中怎麼接收post過來的JSON數據

var allUnivList = [{
"id": 1,
"univs": [{
"id": 1001,
"name": "清華大學"
},
{
"id": 1002,
"name": "北京大學"
}],
"country_id": 0,
"name": "北京"
}]

//比如你傳遞的是上面這個JSON格式,在PHP端,舉個用JQ提交的例子:
$.ajax({
url: "test.php",
type: "post",
data: { allcity: allUnivList},
success: function (data) {
alert(data);
},
error: function () {
alert("系統異常!");
}
});

C. php 怎麼接收前端傳來的json數據

<?php
header("Content-type:text/html;charset=utf-8");
if($_POST){
$d = $_POST['data'];//這里獲取的直接就是數組了,不需要用到json_decode
echo $d['doing'];
//print_r($d);
exit;
}
?>

<script src="js/jquery-1.7.2.min.js"></script>
<script type="text/javascript">
$(document).ready(function() {
$("#xx").click(function(){
var url = "test.php";
var str ="{'doing':'createvote','type':'type','num':'num','votetheme':'votetheme','creater':'loginname'}";//json格式字元串
var data = eval('('+str+')');//轉換成數組對象,不加這步,那麼PHP獲取的是字元串。
$.post(url, {'data': data}, function(res) {//注意jquery的$.post的第2個參數必須是鍵值對形式
alert(res);
});
});
});
</script>

<input id="xx" type="button" value="點擊">

D. php如何發送和接收JSON數據

對於json,PHP有對應的方法進行操作。

一般而言,json會以字元串形式傳給PHP腳本,一般都是放在$_POST裡面,

14

<?php
// 接收
$json_parameter = $_POST['json_str'];

// 處理, 變成數組
$array = json_decode($json_parameter);

// PHP 把數組數據變成json格式字元串,發給頁面
$demo = array(
'key' => 'value',
'key2' => 'value2'
);
$demo_json = json_encode($demo); // 格式是{"key":"value","key2":"value2"}
echo $demo_json;

E. 在PHP中怎麼接收post過來的JSON數據

$jsonData=$_POST['jsonData'];//接收數據

$arrayData=json_decode($jsonData,true);//轉碼為數組

var_mp($arrayData);//列印結果

F. php 怎麼接收前端傳來的json數據

header("Content-type:text/html;charset=utf-8");
if($_POST){
$d = $_POST['data'];//這里獲取的直接就是數組了,不需要用到json_decode
echo $d['doing'];
//print_r($d);
exit;
}
?>

G. php如何接收js傳來的json對象

你無法傳json對象到服務端交互的,要傳的只是一個字元串(Json),是個字元串!

你發的代碼里是json的解析,沒有多大意義,你在php頁面這樣調試

var_mp($_REQUEST);//輸出所有數據,如果存在的話,你會看到那個參數是啥


另外,json格式,主要方便javascript解析的,而不是php擅長的內容,多數情況下,是PHP返回json數據給js.

php的數組操作函數有主要的兩個json_encode()與json_decode();

從你的代碼中,我不確定你用何種方式通信,ajax?

我看你用到了jQuery,那裡面有個ajax,方式類似這樣的:

$.ajax({
type:"post",//method;canbegetwithpostorrequest
url:"/mySever.php",//phpurl
error:function(){alert('Error');},
data:{
data1:name,
data2:age,
},
datatype:"json",//jsonback
timeout:5000,
success:function(msg)
{
//eval(msg);//parasehere
}
});
returnfalse;
}

H. php後台如何接收安卓傳來的json數據,json名為object

將接受過來的json轉換成php數組格式。
$json=接收來的json字元串;
$json=json_decode($json,true);//這里轉換成數組然後就是操作數組的方士去讀取了。
echo $json['id'];

I. php獲得api返回的json數據後,如何解析

首先你需要使用對方約定方式獲取,然後考慮是否使用緩存,最後獲取到數據後使用json_decode函數解析成數組格式,接下來就是自己的邏輯代碼了。

閱讀全文

與php接受json相關的資料

熱點內容
如何保證伺服器優質 瀏覽:90
小微信aPP怎麼一下找不到了 瀏覽:299
演算法纂要學術價值 瀏覽:973
程序員你好是什麼意思 瀏覽:799
倩女幽魂老伺服器如何玩 瀏覽:559
電子鍾單片機課程設計實驗報告 瀏覽:997
看加密頻道 瀏覽:379
程序員算不算流水線工人 瀏覽:632
三星電視我的app怎麼卸載 瀏覽:44
簡述vi編譯器的基本操作 瀏覽:507
讓程序員選小號 瀏覽:91
加強數字貨幣國際信息編譯能力 瀏覽:584
購買的app會員怎麼退安卓手機 瀏覽:891
程序員的種類及名稱 瀏覽:293
美國程序員薪資 瀏覽:13
黑石通匯證券伺服器什麼時候到期 瀏覽:393
東方財富app里我的關注怎麼看 瀏覽:749
bm3d單反級降噪演算法 瀏覽:457
華為安卓機激活時間怎麼查詢 瀏覽:850
如何用優盤重裝伺服器系統 瀏覽:317