对于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的通过.访问

你可能感兴趣的:(json)