zoukankan      html  css  js  c++  java
  • 对于json对像,怎么遍历json对象的所有key,在使用json对象时,如果无法知道key,怎么通过key变量来获取值

      对于json对像,怎么遍历json对象的所有key,在使用json对象时,如果无法知道key,怎么通过key变量来获取值?请参阅下面的关键代码:

    <html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=gbk"/>
        <script type="text/javascript">
            var smsTypeDesc = {"4":"回访短信","3":"邮件短信","aa":"测试短信"};
            function EnumaKey(){
                for(var key in smsTypeDesc){
                    alert(key);
                }
            }
            function GetVal(){
                var key = prompt("请输入要查询的key","4");
                            if("undefined"==typeof(smsTypeDesc)) return;
                if("undefined"==typeof(smsTypeDesc[key])){
                    alert("输入的key:"+key+", 在json对象中不存在!");
                    return;
                }    
                alert("您输入的key是:"+key + ",该key所对应的值是:"+smsTypeDesc[key]);
            }
            function GetValByKey(){
                alert(smsTypeDesc.aa);
            }
        </script>
    </head>
    <body>
        Json对象:<br/>
        <pre>
            var smsTypeDesc = {"4":"回访短信","3":"邮件短信","aa":"测试短信"};
        </pre>
        <input type="button" onclick="EnumaKey();" value="遍历smsTypeDesc所有key"/>
        <input type="button" onclick="GetVal();" value="获取smsTypeDesc动态指定key的值"/>
        <input type="button" onclick="GetValByKey();" value="获取smsTypeDesc key aa 所对应的值"/>
    </body>
    </html>

    通过上面的代码,可以看出很简单。根据动态key,主要是通过[] 访问,对于知道key的通过.访问

  • 相关阅读:

    模块
    序列化模块
    time模块、os模块、sys模块
    re模块、collections模块、random模块
    正则表达式
    递归函数和二分查找
    匿名函数
    推推导式和内置函数
    Java引用类型与值类型——Java面向对象基础(7)
  • 原文地址:https://www.cnblogs.com/tian830937/p/4439227.html
Copyright © 2011-2022 走看看