json的鍵名為數(shù)字時的調(diào)用方式

2022-05-17 14:25 更新

本文介紹當(dāng)JSON的鍵名為數(shù)字的時候應(yīng)該使用的調(diào)用方式,對于鍵名為數(shù)字或者非正常變量字符時(如有空格),必須使用obj[xx]方式獲取值。

代碼如下:
<?php
//聲明json數(shù)據(jù)
$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);//第二個參數(shù)是true,表示把json數(shù)據(jù)轉(zhuǎn)換為數(shù)組
//對于json鍵名是數(shù)字時,只能用數(shù)組方式處理$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數(shù)據(jù)調(diào)用示例
*/
function test(){
//調(diào)用方式一
var data = '<?php echo $json?>';//php json數(shù)據(jù),這里只能用單引號,因為php的json數(shù)據(jù)中有雙引號了
data = eval("("+data+")");//js 解析json數(shù)據(jù),主要是因為json數(shù)據(jù)用單引號后變?yōu)樽址?alert(data['result'][90]);//對于數(shù)字需要用數(shù)組的方式訪問
alert(data['result'].status);//對于非數(shù)字可以使用.的方式訪問
//調(diào)用方式二
var data1 = <?php echo $json1?>;//php json數(shù)據(jù),這里沒有用單引號,因為直接是json數(shù)據(jù)
alert(data1[90]);//對于數(shù)字需要用數(shù)組的方式訪問
alert(data1.status);//對于非數(shù)字可以使用.的方式訪問
alert(data1['status']);//還可以使用數(shù)組方式調(diào)用
//注:對于鍵名為數(shù)字或者非正常變量字符時(如有空格),必須使用obj[xx]方式獲取值。
}
</script>
<input type="button" value="button" onclick="test();"/>
</body>
</html>

js獲取json對象鍵名及值

遇到{"1",:"a"},{"2","b"}這種json對象,鍵名不固定,然后就不知道怎么取了,監(jiān)視器下面是個object,沒有什么屬性方法。方法如下:

d = {"1": "a", "2": "b"}
for(i in d)
{
   i 就是鍵,d[i]就是值
}

真是難者不會,會者不難啊。

實例如下:
<script>
d = {"1": "a", "2": "b"}
function GetJArray(selIndex,arr){
 
   var index =0;
    for(i inarr)
    {
      if(index == selIndex){
         //i就是鍵,arr[i]就是值
        document.write(i + ',' + arr[i] +'<br/>');
      }
      index +=1;
    }
}
GetJArray(1,d);
  </script>
以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號