Jquery 为什么asp.net mvc不将其解析为json对象?

Jquery 为什么asp.net mvc不将其解析为json对象?,jquery,json,asp.net-mvc-3,Jquery,Json,Asp.net Mvc 3,我正在用asp.NETMVC和jquery建立一个网站。我正在解析json对象,并将它们从服务器端发送到客户端。由于某种原因,当我尝试调用对象时,它不起作用。下面是我的一个对象在jquery回调上调用console.logdata时的外观 { "songs": [ { "SongId": 1, "Name": "Black Eyed Peas - The Time (Dirty Bits)", "VideoID": "D7K3wFXJFsQ", "Last

我正在用asp.NETMVC和jquery建立一个网站。我正在解析json对象,并将它们从服务器端发送到客户端。由于某种原因,当我尝试调用对象时,它不起作用。下面是我的一个对象在jquery回调上调用console.logdata时的外观

{
"songs": [
{
     "SongId": 1,
     "Name": "Black Eyed Peas - The Time (Dirty Bits)",
     "VideoID": "D7K3wFXJFsQ",
     "LastUpdated": "/Date(1299951907000)/"
},
{
     "SongId": 2,
     "Name": "Paramore - The Only Exception",
     "VideoID": "-J7J_IWUhls",
     "LastUpdated": "/Date(1299951907000)/"
  }
 ]
}
我试着这样称呼它:

console.log(data.songs)
编辑1 当尝试将值指定为字符串时,在客户端将字符串编写为文本,效果很好

在服务器端,我使用JsonResult作为返回类型

这一直给我一个未定义的值。为什么?


谢谢

有关如何执行此操作的相关信息

下面是一个修改过的例子,说明了我过去是如何做到这一点的。我不确定您的ActionReslut/JsonResult是如何编码的,如果您能提供一个示例,它将帮助我们

所以我希望下面的例子能有所帮助

public ActionResult GetSongs()
        {
            var Songs = _session.All<Songs>()
                           .OrderBy(x => x.Song.Name)
                           .Select(x => new Song { SongId = x.Id, name = x.Name })
                           .ToList();

            return Json(Songs, JsonRequestBehavior.AllowGet);
        }

您能否向我们展示如何将JSON发送到客户机的代码—您的控制器方法以及视图方法的更重要部分?错误消息表明data.songs从未收到该值。我认为您的问题与数据的格式无关。这是我在执行console.LogData时看到的。我假设您使用的是.NET 3.5?如果是这样,请记住,所有响应对象都用d包装,作为JSON攻击的预防措施。试试看d.data.song中有什么?否则我们将需要更多的代码。分解它,将上面的文本放入js变量中。如果它能工作,那么你就知道还有别的东西,如果它不能,那么就开始巧妙地删除位,直到你找到罪魁祸首代码。希望这有帮助。@vondip:最好使用调试器,在接收数据的地方放置一个断点,然后查看调试器中的数据。IE8、IE9、Chrome、Opera和Safari内置了调试器;你可以得到Firefox的Firebug;对于使用早期版本的IE进行测试,你可以使用免费版的VS.Net。谢谢你,Sharon,但这不完全是我的情况。我在将数据从服务器端发送到客户端时遇到问题,而不是通过其他方式。