Partager via


Sérialisation dans .NET

La sérialisation est le processus de conversion de l’état d’un objet en un formulaire qui peut être conservé ou transporté. Le complément de sérialisation est la désérialisation, qui convertit un flux en objet. Ensemble, ces processus permettent de stocker et de transférer des données.

.NET propose les technologies de sérialisation suivantes :

  • La sérialisation JSON mappe des objets .NET à partir et à partir de JavaScript Object Notation (JSON). JSON est une norme ouverte couramment utilisée pour partager des données sur le web. Le sérialiseur JSON sérialise les propriétés publiques par défaut et peut également être configuré pour sérialiser des membres privés et internes.

  • La sérialisation XML et SOAP sérialise uniquement public les propriétés et les champs et ne conserve pas la fidélité du type. Cela est utile lorsque vous souhaitez fournir ou consommer des données sans restreindre l’application qui utilise les données. Étant donné que XML est une norme ouverte, il s’agit d’un choix attrayant pour partager des données sur le web. SOAP est également un standard ouvert, ce qui en fait un choix attrayant.

  • La sérialisation binaire conserve la fidélité du type, ce qui signifie que l’état complet de l’objet est enregistré et lorsque vous désérialisez, une copie exacte est créée. Ce type de sérialisation est utile pour préserver l’état d’un objet entre différents appels d’une application. Par exemple, vous pouvez partager un objet entre différentes applications en le sérialisant dans le Presse-papiers. Vous pouvez sérialiser un objet vers un flux, vers un disque, en mémoire, sur le réseau, etc. La communication à distance utilise la sérialisation pour transmettre des objets « par valeur » d’un ordinateur ou d’un domaine d’application à un autre.

    Avertissement

    La sérialisation binaire avec BinaryFormatter peut être dangereuse. Pour plus d’informations, consultez le Guide de la sécurité de BinaryFormatter et le Guide de migration de BinaryFormatter.

Référence

System.Text.Json
Contient des classes qui peuvent être utilisées pour sérialiser des objets en documents ou flux au format JSON.

System.Runtime.Serialization
Contient des classes qui peuvent être utilisées pour sérialiser et désérialiser des objets.

System.Xml.Serialization
Contient des classes qui peuvent être utilisées pour sérialiser des objets dans des documents ou des flux au format XML.