Сериализация в .NETSerialization in .NET

Сериализация представляет собой процесс преобразования состояния объекта в форму, пригодную для сохранения или передачи.Serialization is the process of converting the state of an object into a form that can be persisted or transported. Дополнением к сериализации служит десериализация, при которой осуществляется преобразование потока в объект.The complement of serialization is deserialization, which converts a stream into an object. Вместе эти процессы позволяют сохранять и передавать данные.Together, these processes allow data to be stored and transferred.

В .NET реализованы следующие технологии сериализации:.NET features the following serialization technologies:

  • Двоичная сериализация сохраняет точность типов, что полезно для сохранения состояния объекта между разными вызовами приложения.Binary serialization preserves type fidelity, which is useful for preserving the state of an object between different invocations of an application. Например, можно обеспечить совместный доступ к объекту для разных приложений, сериализовав его в буфер обмена.For example, you can share an object between different applications by serializing it to the Clipboard. Объект можно сериализовать в поток, на диск, в память, передать по сети и т. д.You can serialize an object to a stream, to a disk, to memory, over the network, and so forth. При удаленном управлении сериализация используется для передачи объектов "по значению" с одного компьютера или домена приложения на другой.Remoting uses serialization to pass objects "by value" from one computer or application domain to another.

  • Сериализация XML и SOAP сериализует только открытые свойства и поля и не сохраняет точность типов.XML and SOAP serialization serializes only public properties and fields and does not preserve type fidelity. Этот метод полезен для предоставления или использования данных без ограничений работающего с ними приложения.This is useful when you want to provide or consume data without restricting the application that uses the data. Будучи открытым стандартом, XML привлекателен для совместного использования данных в Интернете.Because XML is an open standard, it is an attractive choice for sharing data across the Web. Аналогичным образом и SOAP представляет собой открытый стандарт, использование которого эффективно и удобно.SOAP is likewise an open standard, which makes it an attractive choice.

  • Сериализация JSON сериализует только открытые свойства и не сохраняет точность типов.JSON serialization serializes only public properties and does not preserve type fidelity. JSON — это открытый стандарт, который является привлекательным выбором для совместного использования данных в Интернете.JSON is an open standard that is an attractive choice for sharing data across the web.

СсылкаReference

System.Runtime.Serialization
Содержит классы, которые можно использовать для сериализации и десериализации объектов.Contains classes that can be used for serializing and deserializing objects.

System.Xml.Serialization
Содержит классы, которые можно использовать для сериализации объектов в документы формата XML или в потоки.Contains classes that can be used to serialize objects into XML format documents or streams.

System.Text.Json
Содержит классы, которые можно использовать для сериализации объектов в документы или потоки формата JSON.Contains classes that can be used to serialize objects into JSON format documents or streams.