json数据格式
{"?xml":{"@version":"1.0","@encoding":"utf-8"},"navigation":{"item":[{"@id":"01","itemId":"01","itemName":"新闻首页","itemUrl":"#"},{"@id":"02","itemId":"02","itemName":"金属市场","itemUrl":"#"},{"@id":"3","itemId":"03","itemName":"农产品","itemUrl":"#"},{"@id":"04","itemId":"04","itemName":"能源化工","itemUrl":"#"},{"@id":"05","itemId":"05","itemName":"黑色金属","itemUrl":"#"},{"@id":"06","itemId":"06","itemName":"稀贵金属","itemUrl":"#"},{"@id":"07","itemId":"07","itemName":"股指期货","itemUrl":"#"},{"@id":"08","itemId":"08","itemName":"新闻快讯","itemUrl":"#"},{"@id":"09","itemId":"09","itemName":"金融财经","itemUrl":"#"},{"@id":"10","itemId":"10","itemName":"外汇资讯","itemUrl":"#"},{"@id":"11","itemId":"11","itemName":"外汇评述","itemUrl":"#"},{"@id":"12","itemId":"12","itemName":"证券资讯","itemUrl":"#"},{"@id":"13","itemId":"13","itemName":"证券评论","itemUrl":"#"},{"@id":"14","itemId":"14","itemName":"港股资讯","itemUrl":"#"},{"@id":"15","itemId":"15","itemName":"港股评述","itemUrl":"#"}]}}    <script type="text/javascript">
        $(document).ready(function() {
            $.ajax({
                dataType: "json",
                url: "Search.asmx/dataset",
                contentType: "application/json;",
                data: "{}",
                type: "POST",
                success: function(json) {
                var tbody = ""; alert(json.d);
                    $("#list tr:gt(0)").remove();
                    $.each(json, function(i, n) {
                        var str = "";
                        str += "<tr><td>" + n.itemId + "</td><td>" + n.itemName + "</td><td>" + n.itemUrl + "</td></tr>";
                        tbody += str;
                    });
                    $("#list").append(tbody);
                }
            });
        });
    </script>alert(json.d);能读出上面的数据。

解决方案 »

  1.   

    $.each(json, function(i, n) {
    //alert(n);
                            var str = "";
                            str += "<tr><td>" + n.itemId + "</td><td>" + n.itemName + "</td><td>" + n.itemUrl + "</td></tr>";
                            tbody += str;
                        });返回的数据也是和alert(json.d)的数据一样。请问什么原因
      

  2.   

    用asp.net 3.5的ajax框架的话,自带的序列化json的类会在webservice上包装一个d对象因此要用json.d来访问
      

  3.   

    我是用Newtonsoft.Json;组件序列化的
      

  4.   

    $.each(json,function(i,n){
    n.对象 也可以json[i]根据键值访问
    })