Compartir a través de


Serialización en .NET

La serialización es el proceso de convertir el estado de un objeto en un formulario que se puede conservar o transportar. El complemento de la serialización es la deserialización, que convierte una secuencia en un objeto . Juntos, estos procesos permiten almacenar y transferir datos.

.NET incluye las siguientes tecnologías de serialización:

  • La serialización JSON convierte objetos .NET a y desde la notación de objetos JavaScript (JSON). JSON es un estándar abierto que se usa normalmente para compartir datos en la web. El serializador JSON serializa las propiedades públicas de forma predeterminada y también se puede configurar para serializar miembros privados e internos.

  • La serialización XML y SOAP solo serializa public propiedades y campos y no conserva la fidelidad de tipos. Esto resulta útil cuando desea proporcionar o consumir datos sin restringir la aplicación que usa los datos. Dado que XML es un estándar abierto, es una opción atractiva para compartir datos en la Web. SOAP es igualmente un estándar abierto, lo que hace que sea una opción atractiva.

  • La serialización binaria conserva la fidelidad de tipos, lo que significa que se registra el estado completo del objeto y, al deserializar, se crea una copia exacta. Este tipo de serialización es útil para conservar el estado de un objeto entre diferentes invocaciones de una aplicación. Por ejemplo, puede compartir un objeto entre diferentes aplicaciones serializándolo en el Portapapeles. Puede serializar un objeto a un flujo, a un disco, a la memoria, a través de la red, y así sucesivamente. La comunicación remota usa la serialización para pasar objetos "por valor" de un equipo o dominio de aplicación a otro.

    Advertencia

    La serialización binaria con BinaryFormatter puede ser peligrosa. Para más información, consulte la Guía de seguridad de BinaryFormatter y la Guía de migración de BinaryFormatter.

Referencia

System.Text.Json
Contiene clases que se pueden usar para serializar objetos en secuencias o documentos de formato JSON.

System.Runtime.Serialization
Contiene clases que se pueden usar para serializar y deserializar objetos.

System.Xml.Serialization
Contiene clases que se pueden usar para serializar objetos en secuencias o documentos de formato XML.