2
我使用DataContractJsonSerializer(我爲這個特定項目的唯一選擇),序列化類似這樣的一類包括[IgnoreDataMember]
屬性:JSON DataContractJsonSerializer IgnoreDataMember不工作
public class TestClass
{
public int Test1 { get; set; }
public int Test2 { get; set; }
[IgnoreDataMember]
public int Test3 { get; set; }
}
我的序列化代碼是從右邊線從MS示例頁面:
TestClass MyTest = new TestClass();
MyTest.Test1 = 1;
MyTest.Test2 = 2;
MyTest.Test3 = 3;
MemoryStream stream1 = new MemoryStream();
DataContractJsonSerializer ser = new DataContractJsonSerializer(typeof(TestClass));
ser.WriteObject(stream1, MyTest);
stream1.Position = 0;
StreamReader sr = new StreamReader(stream1);
string sContent = sr.ReadToEnd();
但輸出我回去一定包含Test3
屬性:
{"Test1":1,"Test2":2,"Test3":3}
如果我定義類這樣的:
[DataContract]
public class TestClass
{
[DataMember]
public int Test1 { get; set; }
[DataMember]
public int Test2 { get; set; }
public int Test3 { get; set; }
}
我找回正確的輸出是這樣的:
{"Test1":1,"Test2":2}
類我真的想序列有幾十個屬性和我的唯一想忽略其中的一小部分,所以我寧願使用[IgnoreDataMember]
而不是[DataContaract]
和[DataMember]
。
我做錯了我使用[IgnoreDataMember]
的方式嗎?