什么时候JavaScriptSerializer是强制性的?

时间:2011-08-26 18:03:36

标签: jquery asp.net

这里我附上一个示例代码。他们使用JavaScriptSerializer以json格式生成数据并将数据发送回客户端

getPersons()已被jquery ajax函数调用。代码在这里

$.ajax({
     type: "POST",
     url: "Default.aspx/GetPersons",
     contentType: "application/json; charset=utf-8",
     data: "{}",
     dataType: "json",
     success: AjaxSucceeded,
     error: AjaxFailed
 }); 

[WebMethod()]
public static string GetPersons()
{
    List<person> persons = new List<person>()
    {
        new Person { UId = 1, Name = "Brij", Address = "Noida"},
        new Person { UId = 2, Name = "Rahul", Address = "New Delhi" },
        new Person { UId = 3, Name = "John0", Address = "Chris"}
    };

    JavaScriptSerializer ser = new JavaScriptSerializer();
    return ser.Serialize(persons);
} 

当一个方法由WebMethod修饰时,数据会在返回时自动以json格式生成。如果你们仔细看看 然后你可以看到GetPersons()字符串而不是List。为什么有些人返回字符串而不是List。如果他们会返回List 那么数据不需要以json格式手动生成。我是对的吗?

所以我只需要知道为什么人们使用JavaScriptSerializer以json格式生成数据。所以请告诉我一个人必须使用的情况

JavaScriptSerializer以json格式手动生成数据?

请详细讨论.......谢谢

1 个答案:

答案 0 :(得分:0)

JSON序列化不是必需的。您可以返回逗号分隔值对的列表。不同之处在于必须在客户端上解析列表以将其转换回数组或数据对象。 JSON的优点在于它是一个本机JavaScript对象。

当数据结构变得更加复杂时,这变得更加重要。