PHP中關于數組和JSON間的處理
有時候,通過PHP的get或者post請求,得到的是JSON數據,我們該如何處理呢?
處理JSON
- 使用?json_decode()函數解碼
- 數組取值并輸出
<?php
//生產JSON數據
$json_data = array ('id'=>1355471563,'name'=>"npc",'country'=>'usa',"office"=>array("microsoft",'oracle'=>'http://www.kartiktrivedi.com/'));
$json_num = json_encode($json_data);
echo $json_num;
//拿到數據解碼
$json_url=json_decode($json_num,true);
//取得需要的值
$one_data = $json_url['name'];
$two_data = $json_url['office']['0'];
$three_data = $json_url['office']['oracle'];
echo '<br />您本次的$one_data是:<br />'.$one_data."<br />";
echo '<br />您本次的$two_data是:<br />'.$two_data."<br />";
echo '<br />您本次的$three_data是:<br />'.$three_data."<br />";
?>
以上代碼輸出結果為:
{"id":1355471563,"name":"npc","country":"usa","office":{"0":"microsoft","oracle":"http://www.kartiktrivedi.com/"}}
您本次的$one_data是:
npc
您本次的$two_data是:
microsoft
您本次的$three_data是:
http://www.kartiktrivedi.com/
輸出JSON
<?php
header('Content-Type:application/json');//加上這行,前端那邊就不需要var result = $.parseJSON(data);
$arr = array('a' => 1, 'b' => 2, 'c' => 3, 'd' => 4, 'e' => 5);
echo json_encode($arr);
?>
以上代碼執行結果為:
{"a":1,"b":2,"c":3,"d":4,"e":5}