Serialización en .NETSerialization in .NET

La serialización es el proceso de convertir el estado de un objeto en un formato que se pueda almacenar o transportar.Serialization is the process of converting the state of an object into a form that can be persisted or transported. El complemento de serialización es deserialización, que convierte una secuencia en un objeto.The complement of serialization is deserialization, which converts a stream into an object. Juntos, estos procesos permiten almacenar y transferir datos.Together, these processes allow data to be stored and transferred.

.NET incluye las siguientes tecnologías de serialización:.NET features the following serialization technologies:

  • La serialización binaria preserva la fidelidad de tipo, lo que es útil para conservar el estado de un objeto entre distintas invocaciones de una aplicación.Binary serialization preserves type fidelity, which is useful for preserving the state of an object between different invocations of an application. Por ejemplo, puede compartir un objeto entre distintas aplicaciones si lo serializa en el Portapapeles.For example, you can share an object between different applications by serializing it to the Clipboard. Puede serializar un objeto en una secuencia, un disco, la memoria, a través de la red, etc.You can serialize an object to a stream, to a disk, to memory, over the network, and so forth. La comunicación remota utiliza la serialización para pasar objetos "por valor" de un equipo o dominio de aplicación a otro.Remoting uses serialization to pass objects "by value" from one computer or application domain to another.

  • La serialización de SOAP y XML solo serializa propiedades y campos públicos y no preserva la fidelidad de tipo.XML and SOAP serialization serializes only public properties and fields and does not preserve type fidelity. Esto es útil si se desea proporcionar o utilizar los datos sin restringir la aplicación que utiliza los datos.This is useful when you want to provide or consume data without restricting the application that uses the data. Dado que XML es un estándar abierto, es una opción atractiva para compartir los datos por el web.Because XML is an open standard, it is an attractive choice for sharing data across the Web. SOAP es igualmente un estándar abierto, que lo convierte en una opción atractiva.SOAP is likewise an open standard, which makes it an attractive choice.

  • La serialización de JSON solo serializa propiedades públicas y no preserva la fidelidad de tipo.JSON serialization serializes only public properties and does not preserve type fidelity. JSON es un estándar abierto que constituye una opción atractiva para compartir datos en Internet.JSON is an open standard that is an attractive choice for sharing data across the web.

ReferenciaReference

System.Runtime.Serialization
Contiene clases que se pueden usar para serializar y deserializar objetos.Contains classes that can be used for serializing and deserializing objects.

System.Xml.Serialization
Contiene clases que se pueden utilizar para serializar objetos en documentos o secuencias de formato XML.Contains classes that can be used to serialize objects into XML format documents or streams.

System.Text.Json
Contiene clases que se pueden usar para serializar objetos en documentos o secuencias de formato JSON.Contains classes that can be used to serialize objects into JSON format documents or streams.