Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Questo articolo descrive l'esempio jsonSerialization.
Annotazioni
Questo esempio è per DataContractJsonSerializer. Per la maggior parte degli scenari che comportano la serializzazione e la deserializzazione di JSON, è consigliabile usare le API nello spazio dei nomi System.Text.Json.
DataContractJsonSerializer supporta gli stessi tipi di DataContractSerializer. Il formato di dati JSON è particolarmente utile quando si scrivono applicazioni Web in stile JavaScript asincrono e XML (AJAX). Il supporto AJAX in Windows Communication Foundation (WCF) è ottimizzato per l'uso con ASP.NET AJAX tramite il controllo ScriptManager. Per esempi di come usare Windows Communication Foundation (WCF) con ASP.NET AJAX, vedere gli esempi AJAX.
La procedura di configurazione e le istruzioni di compilazione per questo esempio si trovano alla fine di questo argomento.
L'esempio usa un Person contratto di dati per dimostrare la serializzazione e la deserializzazione.
[DataContract]
class Person
{
[DataMember]
internal string name;
[DataMember]
internal int age;
}
Per serializzare un'istanza del tipo Person in JSON, creare prima il DataContractJsonSerializer e utilizzare il metodo WriteObject per scrivere dati JSON in un flusso.
Person p = new Person();
//Set up Person object...
MemoryStream stream1 = new MemoryStream();
DataContractJsonSerializer ser = new DataContractJsonSerializer(typeof(Person));
ser.WriteObject(stream1, p);
Il flusso di memoria contiene dati JSON validi.
{"age":42,"name":"John"}
L'esempio illustra la deserializzazione da dati JSON in un oggetto . Quindi riavvolgi il flusso e chiami ReadObject.
Person p2 = (Person)ser.ReadObject(stream1);
L'analisi dell'oggetto p2 rivela che i dati JSON sono stati deserializzati correttamente.
Per configurare, compilare ed eseguire l'esempio
Compilare la soluzione JsonSerialization.sln come descritto in Compilazione degli esempi di Windows Communication Foundation.
Eseguire l'applicazione console risultante.