我正在使用ASP.NET命令
var returnValue = new JsonResult { Data = items.Skip((pageNumber - 1) * pageSize).Take(pageSize) };
return returnValue;
通过JSON返回表的分页内容,但是当我尝试解析它时,在jQuery中,$.each
将每个字符作为单独的元素。
该输出的行是
[{"ItemNumber":1,"Description":"Description1"}, {"ItemNumber":2,"Description":"Description2"}]
正确列出所有行和字段。然而,这对我来说看起来不像格式正确的JSON(我相信它应该被{}
包围),是吗?
如果不是我应该怎样做才能正确输出表格?如果是这样,我如何循环遍历jQuery中的每个元素,并提取字段值?
答案 0 :(得分:1)
答案 1 :(得分:0)
实际上,使用eval
可能是危险的:与{}中包含它的情况不同,可能会破坏数组的构造。当eval
尝试使用Array
构造函数创建数组时,会发生这种情况。请参阅this post。
如果你不担心,你可以使用eval
- 为了安全,在wtaniguchi的答案中使用JQuery插件。
答案 2 :(得分:0)
你能不能这样循环吗?
for (i = 0; i <= returnValue.length - 1; i++){
//access your properties like this:
returnValue[i].ItemNumber;
returnValue[i].Description;
}
我不知道使用JsonResult是否会像那样工作,但是如果你在服务器端代码中返回一个对象列表,它就会像那样工作。假设您正在使用Asp.Net AJAX,它将自动序列化。
答案 3 :(得分:0)
据我所知,Asp.net Ajax中还存在以下json反序列化器:
Sys.Serialization.JavaScriptSerializer.deserialize(...)
你必须浏览确切的用法,因为我现在听不到它。
答案 4 :(得分:0)
当我使用 System.Web.Script.Serialization.JavaScriptSerializer.Serialize创建JSON数据时,我使用AJAX.NET函数 Sys.Serialization.JavaScriptSerializer.deserialize 来获取我的JSON数据强>