對(duì)于json,PHP有對(duì)應(yīng)的方法進(jìn)行操作。
創(chuàng)新互聯(lián)建站主要從事成都網(wǎng)站建設(shè)、網(wǎng)站制作、網(wǎng)頁(yè)設(shè)計(jì)、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)儋州,10余年網(wǎng)站建設(shè)經(jīng)驗(yàn),價(jià)格優(yōu)惠、服務(wù)專(zhuān)業(yè),歡迎來(lái)電咨詢(xún)建站服務(wù):18982081108
一般而言,json會(huì)以字符串形式傳給PHP腳本,一般都是放在$_POST里面,
14
?php
// 接收
$json_parameter = $_POST['json_str'];
// 處理, 變成數(shù)組
$array = json_decode($json_parameter);
// PHP 把數(shù)組數(shù)據(jù)變成json格式字符串,發(fā)給頁(yè)面
$demo = array(
'key' = 'value',
'key2' = 'value2'
);
$demo_json = json_encode($demo); // 格式是{"key":"value","key2":"value2"}
echo $demo_json;
變量帶進(jìn)去解析,這就傳進(jìn)去了。示例如下:
$test=123;
POSTFILED='{
......
"message":"'.$test.'"
}';
只要將json數(shù)據(jù)用引號(hào)引起來(lái)作為字符串傳遞給PHP【通常用ajax進(jìn)行】就可以用json_decode函數(shù)解碼了。沒(méi)錯(cuò)!就是這樣!但是在構(gòu)造json字符串的時(shí)候一定要仔細(xì),如果你不經(jīng)常構(gòu)造json字符串,那么不妨用
echo json_encode(array('k'=array("a"='1','2','3')))
這樣的方式,查看你需要構(gòu)造的目標(biāo)字符串的json格式。這樣你就可以在js中根據(jù)你想要的結(jié)果來(lái)構(gòu)造了!
// 生成一個(gè)PHP數(shù)組
$data = array();
$data['name'] = 'admin';
$data['pwd'] = '123456';
// 把PHP數(shù)組轉(zhuǎn)成JSON字符串
$json_string = json_encode($data);
// 寫(xiě)入文件
file_put_contents('user.json', $json_string);
// 從文件中讀取數(shù)據(jù)到PHP變量
$json_string = file_get_contents('user.json');
// 把JSON字符串轉(zhuǎn)成PHP數(shù)組
$data = json_decode($json_string, true);
// 顯示出來(lái)看看
var_dump($data)
代碼都基于jquery
jsonp?? 可以跨域 例如:
$.ajax({
url:'example.php',
type:'GET',
dataType:'jsonp',
jsonp:'callback',
success:function(data){
/*比如example.php是這樣?php?
$callback=$_REQUEST['callback'];
echo?$callback.'('.json_encode(array('id'=1)).')';???
這里的data??就是????{"id":1}
*/
}
});
不跨域? ajax就可以? 例如:
$.ajax({
url:'example.php',
type:'GET',
dataType:'json',
success:function(data){
//這個(gè)data就是返回的json??即example.php??輸出的??json????
比如example.php是這樣?php?echo?json_encode(array('id'=1));???
返回的json?就是?{"id":1}
}
});