Partager via


Exemple de DataContractJsonSerializer

Cet article décrit l’exemple jsonSerialization.

Remarque

Cet exemple concerne DataContractJsonSerializer. Pour la plupart des scénarios impliquant la sérialisation et la désérialisation de JSON, nous vous recommandons les API dans l’espace de noms System.Text.Json.

DataContractJsonSerializer prend en charge les mêmes types que DataContractSerializer. Le format de données JSON est particulièrement utile lors de l’écriture d’applications web de style JavaScript et XML (AJAX) asynchrones. La prise en charge AJAX dans Windows Communication Foundation (WCF) est optimisée pour une utilisation avec ASP.NET AJAX via le contrôle ScriptManager. Pour obtenir des exemples d’utilisation de Windows Communication Foundation (WCF) avec ASP.NET AJAX, consultez les exemples AJAX.

La procédure de configuration et les instructions de génération de cet exemple se trouvent à la fin de cette rubrique.

L’exemple utilise un Person contrat de données pour illustrer la sérialisation et la désérialisation.

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

    [DataMember]
    internal int age;
}

Pour sérialiser une instance du Person type au format JSON, créez le DataContractJsonSerializer premier et utilisez la WriteObject méthode pour écrire des données JSON dans un flux.

Person p = new Person();
//Set up Person object...
MemoryStream stream1 = new MemoryStream();
DataContractJsonSerializer ser = new DataContractJsonSerializer(typeof(Person));
ser.WriteObject(stream1, p);

Le flux de mémoire contient des données JSON valides.

{"age":42,"name":"John"}

L’exemple illustre la désérialisation des données JSON dans un objet. Ensuite, vous rembobinez le flux et appelez ReadObject.

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

L’examen de l’objet p2 révèle que les données JSON ont été désérialisées correctement.

Pour configurer, générer et exécuter l’exemple

  1. Générez la solution JsonSerialization.sln comme décrit dans Générer les exemples Windows Communication Foundation.

  2. Exécutez l’application console résultante.