现在有个Json对象,但是不知道key是什么,怎么能取到他的key
如:
{"id1":{"name":"张三","sex":"男"},"student2":{"name":"老四","sex":"女"},"id3":{"name":"王五","sex":"男"}}目前不知道这个id是多少,我怎么才能取得这个key,也就是,id1,id2,id3

解决方案 »

  1.   

    for...in语句
    <script type="text/javascript"> 
    var json={
    "id1":{"name":"张三","sex":"男"},
    "student2":{"name":"老四","sex":"女"},
    "id3":{"name":"王五","sex":"男"}
    } ;
    recurJson(json);
    function recurJson(json)
    {
        for(var i in json){
            document.write(i+":"+json[i]+"<br>");
            if(typeof json[i]=="object"){
                recurJson(json[i]);
            }
        }
    }
    </script> 
      

  2.   

    喜欢jquery吗? 用jquery重写了一遍~
    <html>
    <head>
    <title>key value</title>
    <script type="text/javascript" src="jquery.js"></script>
    <script type="text/javascript">
    var a = {name: "wang", sex:"M", age: 21};
    $.each(a ,function(i){
    alert(a[i]);// wang M 21
    alert(i);// name sex age
    });
    </script>
    </head>
    <body></body>
    </html>
      

  3.   

    2 楼的试验了下是可以的,不过不知道具体的为何这样就可以得到这个key
      

  4.   


    var dat={
        "id1":{
            "name":"张三",
            "sex":"男"},
        "id2":{
            "name":"老四",
            "sex":"女"},
        "id3":{
            "name":"王五",
            "sex":"男"}};
    for ( var id in dat ){
        alert(id);
    }
      

  5.   

    for..in 的方式就是对javascript对象中的可见成员遍历,所以即使不知道有哪些只要是可见成员就可以遍历出来
      

  6.   

    对的。对一般的JS对象,几乎都可以用 for in 遍历