Dot-Net
如何排除某些成員被序列化為 Json?
我有一個對象,我想序列化為我正在使用的 Json 格式:
public string ToJson() { JavaScriptSerializer jsonSerializer = new JavaScriptSerializer(); string sJSON = jsonSerializer.Serialize(this); return sJSON; }如何將“this”中的某些欄位定義為不被序列化?
可能的方法是將這些欄位聲明為
privateorinternal。另一種解決方案是使用
DataContractJsonSerializer類。在這種情況下,您將DataContract屬性添加到您的類。您可以使用屬性控制要序列化的DataMember成員 - 標記有它的所有成員都被序列化,而其他成員則沒有。你應該重寫你的 ToJson 方法如下:
public string ToJson() { DataContractJsonSerializer jsonSerializer = new DataContractJsonSerializer(typeof(<your class name>)); MemoryStream ms = new MemoryStream(); jsonSerializer.WriteObject(ms, this); string json = Encoding.Default.GetString(ms.ToArray()); ms.Dispose(); return json; }