为XML和JSON序列化不同的成员

时间:2011-04-21 09:03:59

标签: c# .net json serialization datacontractserializer

我有几个类,我使用DataContract / DataMember属性和DataContractSerializer序列化为XML。 现在我想使用相同的类来为客户端的ajax调用序列化为JSON。 但是,我想要序列化为JSON的成员与我想要序列化为XML的成员略有不同。有没有办法(用属性)来区分这两者?

BTW我正在使用DataContractSerializer而不是XmlSerializer,因为我需要序列化私有成员,因此切换到XmlSerializer不是一种选择。

1 个答案:

答案 0 :(得分:1)

为了序列化json,我使用:

System.Web.Script.Serialization.JavaScriptSerializer

您也可以使用ignore属性来处理输出。

http://msdn.microsoft.com/en-us/library/system.web.script.serialization.scriptignoreattribute.aspx

编辑:

注意到在处理数据交换时你可能更熟悉另一个选项:

System.Runtime.Serialization.Json.DataContractJsonSerializer

Refersnces:

http://msdn.microsoft.com/en-us/library/system.runtime.serialization.json.datacontractjsonserializer.aspx

http://msdn.microsoft.com/en-us/library/bb412179.aspx