我有,我想序列化JSON格式 我使用一個對象:如何排除某些成員被序列化爲Json?
public string ToJson()
{
JavaScriptSerializer jsonSerializer = new JavaScriptSerializer();
string sJSON = jsonSerializer.Serialize(this);
return sJSON;
}
如何定義「這個」不被序列化的一些領域?
我有,我想序列化JSON格式 我使用一個對象:如何排除某些成員被序列化爲Json?
public string ToJson()
{
JavaScriptSerializer jsonSerializer = new JavaScriptSerializer();
string sJSON = jsonSerializer.Serialize(this);
return sJSON;
}
如何定義「這個」不被序列化的一些領域?
可能的方法是聲明這些字段爲private
或internal
。
替代解決方案是使用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;
}
退房的JavaScriptConverter類。您可以register converters爲特定對象類型定製序列化/反序列化過程。然後可以包含所需的屬性,而不對原始類進行任何更改。
不錯,但我仍然很難,如果我想要一個字符串成員被序列化,而另一個字符串成員不是。對? –
您基本上會返回一個鍵/值對的字典,因此您的自定義轉換器只需包含一個而不是另一個。你甚至可以根據它的值序列化每個成員(或不)。 – MikeWyatt