现在的位置: 首页 > 综合 > 正文

使用.net 3.5的DataContractJsonSerializer进行JSON Serialization

2013年10月02日 ⁄ 综合 ⁄ 共 3000字 ⁄ 字号 评论关闭

 可能你看到这个东东的时候还不理解它是什么,但是如果在.net之前的版本你用过JavaScriptSerializer方法的话,应该就明白了,它在.net 3.5中取代了JavaScriptSerialize进行JSON的serialization和deserialization功能。

这里举个例子来看,创建一个对象是Person它有FirstName和LastName属性。

 

现在,为了能够让我们的对象通过使用DataContractJsonSerializer转化为JSON,我们需要让为它加上Serializable或者是DataContract属性。

 

下面的代码是实现Person的serialize。

 

如果我们使用的Person对象添加了Serializable属性,那么序列化后的结果如下:

/// Result of Person class marked as Serializable
{"<FirstName>k__BackingField":"Chris","<LastName>k__BackingField":"Pietschmann"}

如果是DataContract属性最后结果为:

/// Result of Person class marked as DataContract with
/// each Property marked as DataMember

{"FirstName":"Chris","LastName":"Pietschmann"}

 

今天做个东西需要用到json序列化,正好用到这个东西。 不过熟悉generics的话,使用了generics的帮忙让序列化和反序列化都那么容易了。

 

贴出他的代码,希望大家能够看懂:

 

我觉得他挺牛。。。。崇拜中。。。

 

 

 

【上篇】
【下篇】

抱歉!评论已关闭.