当对象实例创建结束,我们就可以调用DeserializeInternal()方法。这个方法具体负责解析JSON序列化字符串并创建相应的原始类型的对象。于是对象定义中会包括一个字符串常量__type,它的后面跟着的是描述对象数据类型的JSON字符串。
创新互联是一家集网站建设,松北企业网站建设,松北品牌网站建设,网站定制,松北网站建设报价,网络营销,网络优化,松北网站推广为一体的创新建站企业,帮助传统企业提升企业形象加强企业竞争力。可充分满足这一群体相比中小企业更为丰富、高端、多元的互联网需求。同时我们时刻保持专业、时尚、前沿,时刻以成就客户成长自我,坚持不断学习、思考、沉淀、净化自己,让我们为更多的企业打造出实用型网站。
如果这个对象通过一个web服务方法返回,那么此对象将在内部处理器RestHandler类的InvokeMethod()方法中被自动序列化。然而在上面的例子中,我们却在我们的Web页面的典型的Page.Page_Load()方法内部使用这些对象。#t#
因此,我们应该创建这些对象并且自动地使用前面已经讨论的JavaScriptSerializer对象对它们进行序列化。例如,我们来考虑使用如下代码来序列化一个对象的情形:
- JavaScriptSerializer jsSerializer = new
- JavaScriptSerializer(new SimpleTypeResolver());
- Customer cust = new Customer();
- cust.FirstName = "Joe";
- cust.EmailAddress = "jknown@domain.com";
- cust.PhoneNumbers = new Phone();
- cust.PhoneNumbers.HomePhone = "888-888-8888";
- string serializedText = jsSerializer.Serialize(cust);
根据前面的分析,JavaScriptSerializer对象已经使用SimpleTypeResolver初始化完毕(其中,JSON字符串负责把要序列化的对象转换成一个字符串形式)。下面,我们来看一下序列化之后的JSON文本:
- {"__type":"Customer, App_Web_plrzlwbj,
- Version=0.0.0.0, Culture=neutral,
- PublicKeyToken=null","FirstName":"Joe","LastName":null,
- "EmailAddress":jknown@domain.com,
- "PhoneNumbers":{"__type":"Phone, App_Web_plrzlwbj, Version=0.0.0.0,
- Culture=neutral, PublicKeyToken=null",
- "HomePhone":"888-888-8888","WorkPhone":null}}
根据前面的分析,JavaScriptSerializer对象已经使用SimpleTypeResolver初始化完毕(其中,SimpleTypeResolver负责把要序列化的对象转换成一个字符串形式)。下面,我们来看一下序列化之后的JSON字符串:
- 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; }
- } }
注意,其中的PhoneNumbers属性属于定制类型—Phone。因此,当被序列化时,JSON字符串的值本身就是一个JSON对象,它正是Phone对象的序列化之后的形式。再次强调的是,这里添加了类型标记,以备反序列化时使用,从而确保创建相应类型的原始对象。
分享题目:描述对象数据类型JSON字符串方法
标题链接:http://www.csdahua.cn/qtweb/news30/525380.html
网站建设、网络推广公司-快上网,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 快上网