[{"objName":"datalist","objUser":[{"sUserName":"JSON0","sAddress":"中国-北京-海淀0号"},{"sUserName":"JSON1","sAddress":"中国-北京-海淀1号"},{"sUserName":"JSON2","sAddress":"中国-北京-海淀2号"},{"sUserName":"JSON3","sAddress":"中国-北京-海淀3号"},{"sUserName":"JSON4","sAddress":"中国-北京-海淀4号"}]}]
这是我写的。搞不定啊.
$(function() {
var json = [{"objName":"datalist","objUser":[{"sUserName":"JSON0","sAddress":"中国-北京-海淀0号"},{"sUserName":"JSON1","sAddress":"中国-北京-海淀1号"},{"sUserName":"JSON2","sAddress":"中国-北京-海淀2号"},{"sUserName":"JSON3","sAddress":"中国-北京-海淀3号"},{"sUserName":"JSON4","sAddress":"中国-北京-海淀4号"}]}]
    var data = eval('(' + json + ')');
    alert(data.objName);
    $.each(data.objUser,
    function(i, o) {
        alert(o.sAddress);
    });
})
我要弹出提示:datalist,然后是每个sAddress的值
求高人指点

解决方案 »

  1.   


    var json = [{"objName":"datalist","objUser":[{"sUserName":"JSON0","sAddress":"中国-北京-海淀0号"},{"sUserName":"JSON1","sAddress":"中国-北京-海淀1号"},{"sUserName":"JSON2","sAddress":"中国-北京-海淀2号"},{"sUserName":"JSON3","sAddress":"中国-北京-海淀3号"},{"sUserName":"JSON4","sAddress":"中国-北京-海淀4号"}]}];
    for(i in json){
         alert(json[i].objName);
         for(s in json[i].objUser){
            alert(json[i].objUser[s].sAddress);
           }
    }
      

  2.   

    json变量本来就是JSON格式的了,LZ为什么还要用var data = eval('(' + json + ')');把这红色这句去了。
    $(function() {
        var json = [
                      {
                          "objName":"datalist",
                          "objUser":[
                                      {"sUserName":"JSON0","sAddress":"中国-北京-海淀0号"},
                                      {"sUserName":"JSON1","sAddress":"中国-北京-海淀1号"},
                                      {"sUserName":"JSON2","sAddress":"中国-北京-海淀2号"},
                                      {"sUserName":"JSON3","sAddress":"中国-北京-海淀3号"},
                                      {"sUserName":"JSON4","sAddress":"中国-北京-海淀4号"}
                                    ]
                      }
                    ];  
        $.each(json[0].objUser,function(i, o) {
            alert(o.sAddress);
        });
    })
      

  3.   


    <script src="http://code.jquery.com/jquery-latest.js"></script>
    <script type="text/javascript">
    $(function() {
    var json = [{"objName":"datalist","objUser":[{"sUserName":"JSON0","sAddress":"中国-北京-海淀0号"},{"sUserName":"JSON1","sAddress":"中国-北京-海淀1号"},{"sUserName":"JSON2","sAddress":"中国-北京-海淀2号"},{"sUserName":"JSON3","sAddress":"中国-北京-海淀3号"},{"sUserName":"JSON4","sAddress":"中国-北京-海淀4号"}]}];
    var a=json[0].objUser;
    var cnt=json[0].objUser.length;
    alert(json[0].objName);
    for(var i=0;i<cnt;i++){
    alert(a[i].sAddress);
    }
    })
    </script>
      

  4.   

    楼主你这里不需要eval转换,就楼上说的,你当前json也是object类型了, 不需要转换的,你可以
      console.info(typeof json) 一下 就知道了 ,如果是string,你才需要eval的 
    ,不过这里个人有点建议不要用eval ,改用new Function的方式
        var b = new Function("return " + json);
        return b.apply(this);
    感觉这个兼容性,性能会好点。