Sérialisation et désérialisation

Revenons sur la sérialisation vue au chapitre précédent : elle convertit un objet entité en chaîne JSON.

Sérialisation

WebInfo webInfo = new WebInfo();
webInfo.age = 4;
webInfo.webname = "FoxDevelop";
webInfo.website = "foxdevelop.com";
webInfo.students = new Person[] { new Person { name = "Tom" }, new Person { name = "Jim" } };
// Convertir l’objet webinfo en chaîne JSON
StringWriter sw = new StringWriter();
JsonWriter writer = new JsonWriter(sw);
new JsonSerializer().Serialize(writer, webInfo);
string json = sw.GetStringBuilder().ToString();Langage du code : JavaScript (javascript)
Résultat JSON généré
{"webname":"FoxDevelop","website":"foxdevelop.com","age":4,"students":[{"name":"Zhang San"},{"name":"Li Si"}]}Langage du code : JSON / JSON avec commentaires (json)

Désérialisation

Transformer une chaîne JSON en objet entité

Méthode 1 (écriture bas‑niveau avec Reader)

WebInfo model = new JsonSerializer()
    .Deserialize(new JsonTextReader(new StringReader(json)), typeof(WebInfo)) as WebInfo;Langage du code : JavaScript (javascript)

Méthode 2 (syntaxe générique concise, Newtonsoft.Json)

WebInfo model = JavaScriptConvert.DeserializeObject<WebInfo>(json);Langage du code : HTML, XML (xml)

new JsonSerializer().Deserialize(new JsonTextReader(new StringReader(jsonString)), typeof(NomClasse) as NomClasse

Grâce à ces méthodes, on peut désérialiser un JSON vers un objet entité.

Autre forme d’appel

JavaScriptConvert.DeserializeObject<NodeInfo>(jsonText)

Sérialisation et désérialisation

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *