我向class添加了属性serializable,但由于这个原因,class属性被序列化了。
我将$("#testTable tr").each(function() {
firsttd += $(this).find("td:first").html() + "\n";
});
用于所有属性,但它仍在序列化属性
td
它的序列化如下标记 -
[XmlIgnore]
答案 0 :(得分:3)
如果您使用的是the [Serializable]
attribute,则需要对您不希望序列化的任何成员(公共或私人)使用[NonSerialized]
属性。
[DataMember]
属性标记类时使用 [DataContract]
,并且当您在类上明确使用XmlSerialiser时使用[XmlIgnore]
。
[Serializable]
public class Document {
[NonSerialized]
public string FileURL { get; set; }
[NonSerialized]
public string FileSize { get; set; }
}
答案 1 :(得分:0)
您是否按照文档尝试过IgnoreDataMemberAttribute?
https://msdn.microsoft.com/en-us/library/system.runtime.serialization.ignoredatamemberattribute.aspx
答案 2 :(得分:0)
尝试[JsonIgnore]
或[IgnoreDataMember]
属性,这对您有帮助。
答案 3 :(得分:0)
如果您使用“开箱即用”配置的WCF,您可能正在使用DataContractSerializer
来序列化邮件,而不是XmlSerializer
。
为了让合同类的成员不被序列化,您可以使用IgnoredDataMember
属性来装饰它们:
[Serializable]
public class Document
{
[DataMember]
public string FileURL { get; set; }
[IgnoredDataMember]
public string FileSize { get; set; }
}