Condividi tramite


Serializzazione JSON

In questo esempio viene illustrato come utilizzare DataContractJsonSerializer per serializzare e deserializzare i dati nel formato JSON (JavaScript Object Notation). Questo motore della serializzazione converte i dati JSON in istanze dei tipi .NET Framework e li riconverte in dati JSON. DataContractJsonSerializer supporta gli stessi tipi di DataContractSerializer. Il formato dati JSON è particolarmente utile quando si creano applicazioni Web di tipo AJAX (Asynchronous JavaScript and XML). Il supporto AJAX in Windows Communication Foundation (WCF) è ottimizzato per l'utilizzo con ASP.NET AJAX tramite il controllo ScriptManager. Per esempi dell’utilizzo di Windows Communication Foundation (WCF) con ASP.NET AJAX, vedere AJAX Samples.

Bb410770.note(it-it,VS.100).gifNota:
La procedura di configurazione e le istruzioni di compilazione per questo esempio si trovano alla fine dell'argomento.

Nell'esempio viene utilizzato un contratto dati Person per illustrare la serializzazione e la deserializzazione.

[DataContract]
    class Person
    {
        [DataMember]
        internal string name;

        [DataMember]
        internal int age;
    }

Per serializzare un'istanza di tipo Person in formato JSON, creare prima l'elemento DataContractJsonSerializer e utilizzare il metodo WriteObject per scrivere i 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”}

Nell'esempio viene illustrata la deserializzazione da dati JSON a un oggetto. Si ritorna quindi all'inizio del flusso e si chiama ReadObject.

Person p2 = (Person)ser.ReadObject(stream1);

Esaminando l'oggetto p2 si evince che i dati JSON sono stati deserializzati correttamente.

Bb410770.Important(it-it,VS.100).gif Nota:
È possibile che gli esempi siano già installati nel computer. Verificare la directory seguente (impostazione predefinita) prima di continuare.

<UnitàInstallazione>:\WF_WCF_Samples

Se questa directory non esiste, andare alla pagina relativa agli esempi di Windows Communication Foundation (WCF) e Windows Workflow Foundation (WF) per .NET Framework 4 per scaricare tutti gli esempi di Windows Communication Foundation (WCF) e WF. Questo esempio si trova nella directory seguente.

<UnitàInstallazione>:\WF_WCF_Samples\WCF\Basic\Ajax\JsonSerialization

Per impostare, compilare ed eseguire l'esempio

  1. Compilare la soluzione JsonSerialization.sln come descritto in Generazione degli esempi Windows Communication Foundation.

  2. Eseguire l'applicazione console risultante.