中国最全IT社区平台 联系我们 | 收藏本站
华晨云阿里云优惠2

json教程

  • 关于 JSON
  • JSON 教程

    json格式

    JSON解析

    JSON遍历

    JSON调用

    JSON转换

    JSON获取

    JSON字符串

    JSON数组

    json的键名为数字时的调用方式

    阅读 (2111)

    对于键名为数字或者非正常变量字符时(如有空格),必须使用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>
    


    js获取json对象键名及值

    遇到{"1",:"a"},{"2","b"}这种json对象,键名不固定,然后就不知道怎么取了,监视器下面是个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>
    

    关闭
    程序员人生