ASP.NET AJAX框架编程之JSON序列化剖析
2008-04-15 11:11:00 来源:天极网 作者:朱先忠 点击:
ASP.NET AJAX(最初代码名为“ATLAS”)框架,作为重点支持ASP.NET开发平台的开源Ajax框架在它一出世时就受到广大.NET开发人员的青睐。
对于定制对象来说,它们可以按照类似于IDictionary的方式加以序列化,但仍存在一些不同之处。如果事先定义了一个JavaScriptTypeResolver对象,那么对象的类型将被转换成一个字符串,于是对象定义中会包括一个字符串常量__type,它的后面跟着的是描述对象数据类型的字符串。所有定义为public类型而且不包含元数据ScriptIgnoreAttribute属性的字段和属性都会包含在此对象的JSON对象描述之中。
三、序列/反序列化举例
现在,让我们通过一个例子来具体分析一下序列化过程。首先,请考虑下面定义的Customer对象:
public class Customer
{
private string _firstName;
public string FirstName
{
get { return _firstName; }
set { _firstName = value; }
}
private string _lastName;
public string LastName
{
get { return _lastName; }
set { _lastName = value; }
}
private string _email;
public string EmailAddress
{
get { return _email; }
set { _email = value; }
}
private Phone _phoneNumber;
public Phone PhoneNumbers
{
get { return _phoneNumber; }
set { _phoneNumber = value; }
}
}
public class Phone
{
private string _homePhone;
public string HomePhone
{
get { return _homePhone; }
set { _homePhone = value; }
}
private string _workPhone;
public string WorkPhone
{
get { return _workPhone; }
set { _workPhone = value; }
}
}
如果这个对象通过一个web服务方法返回,那么此对象将在内部