Condividi tramite


Serializzazione in .NET

La serializzazione è il processo di conversione dello stato di un oggetto in un formato che può essere salvato in modo permanente o trasportato. Il complemento della serializzazione è la deserializzazione, che converte un flusso in un oggetto . Insieme, questi processi consentono l'archiviazione e il trasferimento dei dati.

.NET offre le tecnologie di serializzazione seguenti:

  • La serializzazione JSON esegue il mapping degli oggetti .NET a e da JavaScript Object Notation (JSON). JSON è uno standard aperto comunemente usato per condividere i dati sul Web. Il serializzatore JSON serializza le proprietà pubbliche per impostazione predefinita e può essere configurato anche per serializzare membri privati e interni.

  • La serializzazione XML e SOAP serializza solo public proprietà e campi e non mantiene la fedeltà dei tipi. Ciò è utile quando si vogliono fornire o utilizzare dati senza limitare l'applicazione che usa i dati. Poiché XML è uno standard aperto, è una scelta interessante per la condivisione dei dati attraverso il Web. SOAP è allo stesso modo uno standard aperto, che lo rende una scelta attraente.

  • La serializzazione binaria mantiene la fedeltà dei tipi, ovvero lo stato completo dell'oggetto viene registrato e, quando si deserializza, viene creata una copia esatta. Questo tipo di serializzazione è utile per mantenere lo stato di un oggetto tra chiamate diverse di un'applicazione. Ad esempio, è possibile condividere un oggetto tra applicazioni diverse serializzandolo negli Appunti. È possibile serializzare un oggetto in un flusso, in un disco, in memoria, in rete e così via. La comunicazione remota usa la serializzazione per passare oggetti "per valore" da un computer o un dominio applicazione a un altro.

    Avvertimento

    La serializzazione binaria con BinaryFormatter può rappresentare un pericolo. Per altre informazioni, vedere la guida alla sicurezza BinaryFormatter e la guida alla migrazione di BinaryFormatter.

Riferimenti

System.Text.Json
Contiene classi che possono essere usate per serializzare oggetti in documenti o flussi in formato JSON.

System.Runtime.Serialization
Contiene classi che possono essere utilizzate per serializzare e deserializzare gli oggetti.

System.Xml.Serialization
Contiene classi che possono essere utilizzate per serializzare oggetti in documenti o flussi in formato XML.