序列化是將物件狀態轉換為可保存或傳輸的形式的過程。 序列化的對應過程是反序列化,它將數據流轉換為物件。 這些程式一起允許儲存和傳輸數據。
.NET 具有下列串行化技術:
JSON 序列化 會將 .NET 物件對應至 JavaScript 物件表示法(JSON)。 JSON 是一種開放標準,通常用來跨 Web 共用數據。 JSON 串行化程式預設會串行化公用屬性,也可以設定為串行化私用和內部成員。
XML 和 SOAP 串行化 只會
public
串行化屬性和字段,而且不會保留類型逼真度。 當您想要提供或取用數據而不限制使用數據的應用程式時,這會很有用。 因為 XML 是開放式標準,所以它是一個有吸引力的選擇,可跨 Web 共用數據。 SOAP 同樣是開放式標準,這使得它成為一個有吸引力的選擇。二進位串行化 會保留 類型逼真度,這表示記錄物件的完整狀態,而且當您還原串行化時,會建立確切的複本。 這種類型的串行化有助於在應用程式的不同調用之間保留物件的狀態。 例如,您可以將物件串行化至剪貼簿,以在不同的應用程式之間共享物件。 您可以將物件序列化到資料流、磁碟、記憶體、通過網路等。 遠端處理會使用串行化,將物件「依值」從一部計算機或應用程式域傳遞至另一部計算機。
警告
使用
BinaryFormatter
的二進位串行化可能很危險。 如需詳細資訊,請參閱 BinaryFormatter 安全性指南 和 BinaryFormatter 移轉指南。
參考文獻
System.Text.Json
包含類別,可用來將物件串行化為 JSON 格式檔或數據流。
System.Runtime.Serialization
包含可用於串行化和還原串行化物件的類別。
System.Xml.Serialization
包含類別,可用來將物件串行化為 XML 格式檔或數據流。