Serializzazione in .NETSerialization in .NET

La serializzazione è il processo di conversione dello stato di un oggetto in un form che può essere mantenuto o trasportato.Serialization is the process of converting the state of an object into a form that can be persisted or transported. Il complemento della serializzazione è la deserializzazione, che converte un flusso in un oggetto.The complement of serialization is deserialization, which converts a stream into an object. Insieme, questi processi consentono di archiviare e trasferire i dati.Together, these processes allow data to be stored and transferred.

.NET offre le seguenti tecnologie di serializzazione:.NET features the following serialization technologies:

  • La serializzazione binaria consente di mantenere la fedeltà dei tipi, utile per mantenere lo stato di un oggetto tra chiamate diverse di un'applicazione.Binary serialization preserves type fidelity, which is useful for preserving the state of an object between different invocations of an application. È possibile, ad esempio, condividere un oggetto tra diverse applicazioni serializzandolo negli Appunti.For example, you can share an object between different applications by serializing it to the Clipboard. La serializzazione di un oggetto può essere effettuata in un flusso, in un disco, in memoria, in rete e così via.You can serialize an object to a stream, to a disk, to memory, over the network, and so forth. .NET Remoting utilizza la serializzazione per passare oggetti "per valore" da un computer o dominio dell'applicazione a un altro.Remoting uses serialization to pass objects "by value" from one computer or application domain to another.

  • La serializzazione SOAP e XML serializza solo i campi e le proprietà pubbliche e non mantiene la fedeltà del tipo.XML and SOAP serialization serializes only public properties and fields and does not preserve type fidelity. Ciò risulta utile se si vuole fornire o utilizzare dati senza limitare l'applicazione che utilizza i dati.This is useful when you want to provide or consume data without restricting the application that uses the data. Poiché XML è uno standard aperto, questa rappresenta una scelta interessante ai fini della condivisione di dati attraverso il Web.Because XML is an open standard, it is an attractive choice for sharing data across the Web. Analogamente, SOAP è uno standard aperto che rappresenta una scelta altrettanto interessante.SOAP is likewise an open standard, which makes it an attractive choice.

  • La serializzazione JSON serializza solo le proprietà pubbliche e non mantiene la fedeltà del tipo.JSON serialization serializes only public properties and does not preserve type fidelity. JSON è uno standard aperto che rappresenta una scelta interessante per la condivisione di dati sul Web.JSON is an open standard that is an attractive choice for sharing data across the web.

RiferimentoReference

System.Runtime.Serialization
Contiene classi utilizzabili per la serializzazione e la deserializzazione di oggetti.Contains classes that can be used for serializing and deserializing objects.

System.Xml.Serialization
Contiene classi utilizzabili per la serializzazione di oggetti in documenti XML o in flussi.Contains classes that can be used to serialize objects into XML format documents or streams.

System.Text.Json
Contiene classi che possono essere usate per serializzare oggetti in flussi o documenti in formato JSON.Contains classes that can be used to serialize objects into JSON format documents or streams.