シリアル化は、オブジェクトの状態を永続化または転送できる形式に変換するプロセスです。 シリアル化の補数は逆シリアル化であり、ストリームをオブジェクトに変換します。 これらのプロセスを組み合わせることで、データの格納と転送が可能になります。
.NET には、次のシリアル化テクノロジがあります。
JSON シリアル化 は、.NET オブジェクトを JavaScript Object Notation (JSON) との間でマップします。 JSON は、Web 全体でデータを共有するために一般的に使用されるオープン標準です。 JSON シリアライザーは、既定でパブリック プロパティをシリアル化し、プライベート メンバーと内部メンバーもシリアル化するように構成できます。
XML および SOAP シリアル化 では、プロパティとフィールド
public
のみがシリアル化され、型の忠実性は保持されません。 これは、データを使用するアプリケーションを制限せずにデータを提供または使用する場合に便利です。 XML はオープン標準であるため、Web 全体でデータを共有するための魅力的な選択肢です。 SOAP も同様にオープンな標準であるため、魅力的な選択肢になります。バイナリ シリアル化 では 、型の忠実性が維持されます。つまり、オブジェクトの完全な状態が記録され、逆シリアル化すると正確なコピーが作成されます。 この種類のシリアル化は、アプリケーションの異なる呼び出し間でオブジェクトの状態を保持するのに役立ちます。 たとえば、オブジェクトをクリップボードにシリアル化することで、異なるアプリケーション間でオブジェクトを共有できます。 オブジェクトをストリーム、ディスク、メモリ、ネットワークなどを介してシリアル化できます。 リモート処理では、シリアル化を使用して、あるコンピューターまたはアプリケーション ドメインから別のコンピューターまたはアプリケーション ドメインにオブジェクトを "値渡し" で渡します。
Warnung
BinaryFormatter
によるバイナリ シリアル化は危険が伴う場合があります。 詳細については、「BinaryFormatter セキュリティ ガイド」および「BinaryFormatter 移行ガイド」を参照してください。
リファレンス
System.Text.Json
オブジェクトを JSON 形式のドキュメントまたはストリームにシリアル化するために使用できるクラスが含まれています。
System.Runtime.Serialization
オブジェクトのシリアル化と逆シリアル化に使用できるクラスが含まれています。
System.Xml.Serialization
オブジェクトを XML 形式のドキュメントまたはストリームにシリアル化するために使用できるクラスが含まれています。
.NET