Sérialisation dans .NETSerialization in .NET

La sérialisation correspond au processus de conversion de l'état d'un objet en un formulaire persistant ou transportable.Serialization is the process of converting the state of an object into a form that can be persisted or transported. Le complément de la sérialisation est la désérialisation, qui convertit un flux de données en un objet.The complement of serialization is deserialization, which converts a stream into an object. Ensemble, ces processus autorisent le stockage et le transfert des données.Together, these processes allow data to be stored and transferred.

.NET propose les technologies de sérialisation suivantes :.NET features the following serialization technologies:

  • La sérialisation binaire préserve la fidélité du type, ce qui est utile pour conserver l’état d’un objet entre différents appels d’une application.Binary serialization preserves type fidelity, which is useful for preserving the state of an object between different invocations of an application. Par exemple, vous pouvez partager un objet entre plusieurs applications en le sérialisant dans le Presse-papiers.For example, you can share an object between different applications by serializing it to the Clipboard. Vous pouvez sérialiser un objet vers un flux, un disque, la mémoire, le réseau, et ainsi de suite.You can serialize an object to a stream, to a disk, to memory, over the network, and so forth. La communication à distance utilise la sérialisation pour passer des objets « par valeur » d'un ordinateur ou d'un domaine d'application à un autre.Remoting uses serialization to pass objects "by value" from one computer or application domain to another.

  • La sérialisation XML et SOAP sérialise uniquement les propriétés et les champs publics et ne conserve pas la fidélité du type.XML and SOAP serialization serializes only public properties and fields and does not preserve type fidelity. Ceci est utile lorsque vous souhaitez fournir ou consommer des données sans restreindre l'application qui les utilise.This is useful when you want to provide or consume data without restricting the application that uses the data. XML étant une norme ouverte, elle constitue une option intéressante pour partager des données via le Web.Because XML is an open standard, it is an attractive choice for sharing data across the Web. Le protocole SOAP est également une norme ouverte et représente par conséquent une option avantageuse.SOAP is likewise an open standard, which makes it an attractive choice.

  • La sérialisation JSON sérialise uniquement les propriétés publiques et ne conserve pas la fidélité du type.JSON serialization serializes only public properties and does not preserve type fidelity. JSON est une norme ouverte qui est un choix attrayant pour le partage de données sur le Web.JSON is an open standard that is an attractive choice for sharing data across the web.

RéférenceReference

System.Runtime.Serialization
Contient des classes qui peuvent être utilisées pour sérialiser et désérialiser des objets.Contains classes that can be used for serializing and deserializing objects.

System.Xml.Serialization
Contient des classes qui peuvent être utilisées pour sérialiser des objets en documents ou en flux de données au format XML.Contains classes that can be used to serialize objects into XML format documents or streams.

System.Text.Json
Contient des classes qui peuvent être utilisées pour sérialiser des objets dans des documents ou des flux au format JSON.Contains classes that can be used to serialize objects into JSON format documents or streams.