Zurück zur Serialisierung aus dem vorherigen Abschnitt: sie wandelt ein Entity‑Objekt in einen JSON‑String um.
Serialisierung
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" } };
// Wandelt das webinfo‑Objekt in einen JSON‑String um
StringWriter sw = new StringWriter();
JsonWriter writer = new JsonWriter(sw);
new JsonSerializer().Serialize(writer, webInfo);
string json = sw.GetStringBuilder().ToString();Code-Sprache: JavaScript (javascript)
Erzeugtes JSON‑Ergebnis
{"webname":"FoxDevelop","website":"foxdevelop.com","age":4,"students":[{"name":"Zhang San"},{"name":"Li Si"}]}Code-Sprache: JSON / JSON mit Kommentaren (json)
Deserialisierung
Einen JSON‑String zurück in ein Entity‑Objekt umwandeln
Methode 1 (niedrigstufige Reader‑Schreibweise)
WebInfo model = new JsonSerializer()
.Deserialize(new JsonTextReader(new StringReader(json)), typeof(WebInfo)) as WebInfo;Code-Sprache: JavaScript (javascript)
Methode 2 (kompakte generische Schreibweise, Newtonsoft.Json)
WebInfo model = JavaScriptConvert.DeserializeObject<WebInfo>(json);Code-Sprache: HTML, XML (xml)
new JsonSerializer().Deserialize(new JsonTextReader(new StringReader(jsonString)), typeof(Klassenname) as Klassenname
Mit diesen Methoden lassen sich JSON‑Daten zu Entity‑Objekten deserialisieren.
Es geht auch so
JavaScriptConvert.DeserializeObject<NodeInfo>(jsonText)
Serialisierung und Deserialisierung
Previous: Einführung