DataContractJsonSerializer 類別

定義

將物件序列化為 JavaScript 物件標記法 (JSON) 以及將 JSON 資料還原序列化為物件。 此類別無法獲得繼承。

public ref class DataContractJsonSerializer sealed
public ref class DataContractJsonSerializer sealed : System::Runtime::Serialization::XmlObjectSerializer
public sealed class DataContractJsonSerializer
public sealed class DataContractJsonSerializer : System.Runtime.Serialization.XmlObjectSerializer
type DataContractJsonSerializer = class
type DataContractJsonSerializer = class
    inherit XmlObjectSerializer
Public NotInheritable Class DataContractJsonSerializer
Public NotInheritable Class DataContractJsonSerializer
Inherits XmlObjectSerializer
繼承
DataContractJsonSerializer
繼承
DataContractJsonSerializer

備註

對於大部分涉及序列化為 JSON 並從 JSON 還原序列化的案例,我們建議 System.Text.Json 命名空間中的 API

如果您的案例需要 DataContractJsonSerializer 類別,您可以使用它將類型的實例序列化為 JSON 檔,並將 JSON 檔案還原序列化為類型的實例。 例如,您可以使用包含基本資料的屬性 (例如姓名和地址) 來建立名為 Person 的型別。 然後您可以建立及操作 Person 類別的執行個體,並將所有的屬性值寫入 JSON 文件中以供日後擷取。 JSON 文件可以在日後使用對等的資料合約還原序列化為 Person 類別或其他類別。

如果在伺服器的傳出回覆序列化期間發生錯誤,或是因為某些原因導致回覆作業擲回例外狀況,該錯誤可能不會被當成錯誤傳回用戶端。

建構函式

DataContractJsonSerializer(Type)

初始化 DataContractJsonSerializer 類別的新執行個體,以序列化或還原序列化所指定型別的物件。

DataContractJsonSerializer(Type, DataContractJsonSerializerSettings)

初始化 DataContractJsonSerializer 類別的新執行個體,以序列化或還原序列化所指定型別及序列化程式設定的物件。

DataContractJsonSerializer(Type, IEnumerable<Type>)

初始化 DataContractJsonSerializer 類別的新執行個體,以序列化或還原序列化所指定型別的物件,以及可能存在物件圖形中的已知型別集合。

DataContractJsonSerializer(Type, IEnumerable<Type>, Int32, Boolean, IDataContractSurrogate, Boolean)

初始化 DataContractJsonSerializer 類別的新執行個體,以序列化或還原序列化所指定型別的物件。 這個方法也會指定可能存在物件圖形中之已知型別的清單、要序列化或還原序列化之圖形項目的最大數、是否要忽略未預期資料或發出型別資訊,以及自訂序列化的 Surrogate。

DataContractJsonSerializer(Type, String)

初始化 DataContractJsonSerializer 類別的新執行個體,使用參數所指定的 XML 根項目來序列化或還原序列化指定型別的物件。

DataContractJsonSerializer(Type, String, IEnumerable<Type>)

初始化 DataContractJsonSerializer 類別的新執行個體,使用參數所指定的 XML 根項目來序列化或還原序列化指定型別的物件,以及可能存在物件圖形中的已知型別集合。

DataContractJsonSerializer(Type, String, IEnumerable<Type>, Int32, Boolean, IDataContractSurrogate, Boolean)

初始化 DataContractJsonSerializer 類別的新執行個體,以序列化或還原序列化所指定型別的物件。 這個方法也會指定 XML 項目的根名稱、可能存在物件圖形中之已知型別的清單、要序列化或還原序列化之圖形項目的最大數、是否要忽略未預期資料或發出型別資訊,以及自訂序列化的 Surrogate。

DataContractJsonSerializer(Type, XmlDictionaryString)

初始化 DataContractJsonSerializer 類別的新執行個體,使用 XmlDictionaryString 型別之參數所指定的 XML 根項目來序列化或還原序列化指定型別的物件。

DataContractJsonSerializer(Type, XmlDictionaryString, IEnumerable<Type>)

初始化 DataContractJsonSerializer 類別的新執行個體,使用 XmlDictionaryString 型別之參數所指定的 XML 根項目來序列化或還原序列化指定型別的物件,以及可能存在物件圖形中的已知型別集合。

DataContractJsonSerializer(Type, XmlDictionaryString, IEnumerable<Type>, Int32, Boolean, IDataContractSurrogate, Boolean)

初始化 DataContractJsonSerializer 類別的新執行個體,以序列化或還原序列化所指定型別的物件。 這個方法也會指定 XML 項目的根名稱、可能存在物件圖形中之已知型別的清單、要序列化或還原序列化之圖形項目的最大數、是否要忽略未預期資料或發出型別資訊,以及自訂序列化的 Surrogate。

屬性

DataContractSurrogate

取得指定 IDataContractSurrogate 執行個體目前使用的 Surrogate 型別。 Surrogate 可以擴充序列化或還原序列化程序。

DateTimeFormat

取得物件圖形中日期和時間型別項目的格式。

EmitTypeInformation

取得或設定要發出型別資訊的資料合約 JSON 序列化程式設定。

IgnoreExtensionDataObject

取得值,這個值會指定還原序列化時是否忽略未知資料,以及序列化時是否忽略 IExtensibleDataObject 介面。

KnownTypes

取得型別的集合,這些型別可能會存在於使用這個 DataContractJsonSerializer 執行個體所序列化的物件圖形中。

MaxItemsInObjectGraph

取得物件圖形中序列化程式在一次讀取或寫入呼叫中,序列化或還原序列化的最大項目數。

SerializeReadOnlyTypes

取得或設定值,指定是否要序列化唯讀型別。

UseSimpleDictionaryFormat

取得值,指定是否要使用簡單的字典格式。

方法

Equals(Object)

判斷指定的物件是否等於目前的物件。

(繼承來源 Object)
GetHashCode()

做為預設雜湊函式。

(繼承來源 Object)
GetSerializationSurrogateProvider()

將物件序列化為 JavaScript 物件標記法 (JSON) 以及將 JSON 資料還原序列化為物件。 此類別無法獲得繼承。

GetType()

取得目前執行個體的 Type

(繼承來源 Object)
IsStartObject(XmlDictionaryReader)

取得值,這個值會指定 XmlDictionaryReader 是否位於表示序列化程式能夠還原序列化之物件的 XML 項目上。

IsStartObject(XmlReader)

判斷 XmlReader 是否置於可還原序列化的物件上。

MemberwiseClone()

建立目前 Object 的淺層複製。

(繼承來源 Object)
ReadObject(Stream)

讀取 JSON (JavaScript 物件標記法) 格式的文件資料流,然後傳回已還原序列化的物件。

ReadObject(XmlDictionaryReader)

使用 XmlDictionaryReader 讀取從 JSON (JavaScript 物件標記法) 對應的 XML 文件,然後傳回已還原序列化的物件。

ReadObject(XmlDictionaryReader, Boolean)

使用 XmlDictionaryReader 讀取從 JSON 對應的 XML 文件,然後傳回已還原序列化的物件。它也可以讓您指定序列化程式在嘗試還原序列化前是否檢查位於適當的項目上。

ReadObject(XmlReader)

使用 XmlReader 讀取從 JSON (JavaScript 物件標記法) 對應的 XML 文件,然後傳回已還原序列化的物件。

ReadObject(XmlReader, Boolean)

使用 XmlReader 讀取從 JSON 對應的 XML 文件,然後傳回已還原序列化的物件。它也可以讓您指定序列化程式在嘗試還原序列化前是否檢查位於適當的項目上。

SetSerializationSurrogateProvider(ISerializationSurrogateProvider)

將物件序列化為 JavaScript 物件標記法 (JSON) 以及將 JSON 資料還原序列化為物件。 此類別無法獲得繼承。

ToString()

傳回代表目前物件的字串。

(繼承來源 Object)
WriteEndObject(XmlDictionaryWriter)

使用 XmlDictionaryWriter 將結尾 XML 項目寫入可以對應至 JavaScript 物件標記法 (JSON) 的 XML 文件。

WriteEndObject(XmlWriter)

使用 XmlWriter 將結尾 XML 項目寫入可以對應至 JavaScript 物件標記法 (JSON) 的 XML 文件。

WriteObject(Stream, Object)

將指定物件序列化為 JavaScript 物件標記法 (JSON) 資料,然後將產生的 JSON 寫入資料流。

WriteObject(XmlDictionaryWriter, Object)

將物件序列化為可以對應至 JavaScript 物件標記法 (JSON) 的 XML。 使用 XmlDictionaryWriter 來寫入所有的物件資料,包括起始 XML 項目、內容和結尾項目。

WriteObject(XmlWriter, Object)

將物件序列化為可以對應至 JavaScript 物件標記法 (JSON) 的 XML。 使用 XmlWriter 來寫入所有的物件資料,包括起始 XML 項目、內容和結尾項目。

WriteObjectContent(XmlDictionaryWriter, Object)

使用 XmlDictionaryWriter 來撰寫可以對應至 JavaScript 物件標記法 (JSON) 的 XML 內容。

WriteObjectContent(XmlWriter, Object)

使用 XmlWriter 來撰寫可以對應至 JavaScript 物件標記法 (JSON) 的 XML 內容。

WriteStartObject(XmlDictionaryWriter, Object)

使用 XmlDictionaryWriter 寫入開頭 XML 項目,將物件序列化為可以對應至 JavaScript 物件標記法 (JSON) 的 XML。

WriteStartObject(XmlWriter, Object)

使用 XmlWriter 寫入開頭 XML 項目,將物件序列化為可以對應至 JavaScript 物件標記法 (JSON) 的 XML。

適用於