C#XML&;类的JSON序列化以不同的格式包含/排除属性
我正在尝试将一个类序列化为XML和JSON 这相当简单,但是我需要从JSON的输出中排除XML输出中包含的一些属性 例如: [DataContract] public class Foobar { [DataMember] [XmlElement("somestr")] public string SomeString [XmlElement("otherstr")] public string OtherString } [数据合同] 公共级Foobar { [数据成员] [XmlElement(“somestr”)] 公共字符串SomeString [xmlement(“otherstr”)] 公共字符串OtherString } 现在,通常情况下,当不使用[XmlElement(“tag_name”)]时,在属性上省略[DataContract]就足以在序列化为JSON时将其排除在“OtherString”之外 我的测试似乎显示[XmlElement]指令正在告诉JSON序列化程序包含它们 有人对我如何控制输出有什么建议吗,这样JSON和XML就不一样了C#XML&;类的JSON序列化以不同的格式包含/排除属性,c#,.net,C#,.net,我正在尝试将一个类序列化为XML和JSON 这相当简单,但是我需要从JSON的输出中排除XML输出中包含的一些属性 例如: [DataContract] public class Foobar { [DataMember] [XmlElement("somestr")] public string SomeString [XmlElement("otherstr")] public string OtherString } [数据合同] 公共级Foob
非常感谢。您可以尝试将
[IgnoreDataMember]
添加到其他字符串中。不过,您可能会发现只需将DTO划分为2个类就更容易了—1个用于json,一个用于DC。如果您使用JavaScriptSerializer
,那么twinnedJavaScriptConverter
非常容易编写,因此这是另一个可行的选择(您甚至可以只使用[ScriptIgnore]
)而不受影响。您可以尝试将[IgnoreDataMember]
添加到其他字符串中。不过,您可能会发现只需将DTO划分为2个类就更容易了—1个用于json,一个用于DC。如果您使用JavaScriptSerializer
,twinnedJavaScriptConverter
非常容易编写,因此这是另一个可行的选择(您甚至可以只使用[ScriptIgnore]
)。嘿,Marc-使用[IgnoreDataMemeber]工作得很好。非常感谢。嘿,马克-使用[IgnoreDataMemeber]非常有效。非常感谢。