對於鍵名為數字或者非正常變量字符時(如有空格),必須使用obj[xx]方式獲取值。
復制代碼 代碼如下:
<?php
//聲明json數據
$array = array('result'=>array("90"=>"90隊列","status"=>"成功"));
$json = json_encode($array);
$array1 = array("90"=>"90隊列","status"=>"成功");
$json1 = json_encode($array1);
$phpjson = json_decode($json1,true);//第二個參數是true,表示把json數據轉換為數組
//對於json鍵名是數字時,只能用數組方式處理$phpjson['90'];
?>
<!DOCTYPE unspecified PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
</head>
<body>
<script type="text/javascript">
/**
* 測試json數據調用示例
*/
function test(){
//調用方式一
var data = '<?php echo $json?>';//php json數據,這裡只能用單引號,因為php的json數據中有雙引號了
data = eval("("+data+")");//js 解析json數據,主要是因為json數據用單引號後變為字符串了
alert(data['result'][90]);//對於數字需要用數組的方式訪問
alert(data['result'].status);//對於非數字可以使用.的方式訪問
//調用方式二
var data1 = <?php echo $json1?>;//php json數據,這裡沒有用單引號,因為直接是json數據
alert(data1[90]);//對於數字需要用數組的方式訪問
alert(data1.status);//對於非數字可以使用.的方式訪問
alert(data1['status']);//還可以使用數組方式調用
//注:對於鍵名為數字或者非正常變量字符時(如有空格),必須使用obj[xx]方式獲取值。
}
</script>
<input type="button" value="button" onclick="test();"/>
</body>
</html>