Serialisierung und Deserialisierung von Arrays

  • Ähnlich wie im vorherigen Abschnitt
  • Wir können einen JSON‑String in ein Array umwandeln
  • Ersetze einfach den ursprünglichen Klassennamen durch List<Klassenname>

Beispiel

string jsonString = @"""{""webinfos"":[{""webname"":""FoxDevelop"",""website"":""foxdevelop.com"",""age"":4,
""students"":[{""name"":""Ben""},{""name"":""Paul""}]},{""webname"":""FoxDevelop1"",""website"":""foxdevelop.com1"",
""age"":6,""students"":[{""name"":""Lukas""},{""name"":""Finn""}]}]}""";

StringReader sr = new StringReader(jsonString);
JsonReader jr = new JsonReader(sr);
List<WebInfo> infoList = new JsonSerializer().Deserialize(jr, typeof(List<WebInfo>)) as List<WebInfo>;Code-Sprache: PHP (php)

Hinweise

  1. Code‑Struktur, Variablennamen, maskierte Anführungszeichen und Zeilenumbrüche beibehalten, nur Zieltext ersetzen
  2. Nachfolgende Deserialisierungs‑Logik nicht verändern

① List zu JSON‑Array‑String serialisieren

// List‑Collection aufbauen
List<WebInfo> webList = new List<WebInfo>()
{
    new WebInfo()
    {
        age = 4,
        webname = "FoxDevelop",
        website = "foxdevelop.com",
        students = new Person[] { new Person{name="Ben"}, new Person{name="Paul"} }
    },
    new WebInfo()
    {
        age = 4,
        webname = "FoxDevelop1",
        website = "foxdevelop.com",
        students = new Person[] { new Person{name="Lukas"}, new Person{name="Finn"} }
    },
    new WebInfo()
    {
        age = 4,
        webname = "FoxDevelop2",
        website = "foxdevelop.com",
        students = new Person[] { new Person{name="Noel"}, new Person{name="Jonas"} }
    }
};

// Serialisierung: List‑Objekt → JSON‑Array‑String
StringWriter sw = new StringWriter();
JsonWriter writer = new JsonWriter(sw);
new JsonSerializer().Serialize(writer, webList);
string jsonArrStr = sw.GetStringBuilder().ToString();Code-Sprache: PHP (php)

② JSON‑Array‑String zu List deserialisieren

string jsonString = @"[{"webname":"FoxDevelop","website":"foxdevelop.com","age":4,
"students":[{"name":"Ben"},{"name":"Paul"}]},{"webname":"FoxDevelop1","website":"foxdevelop.com",
"age":4,"students":[{"name":"Lukas"},{"name":"Finn"}]},{"webname":"FoxDevelop2","website":"foxdevelop.com",
"age":4,"students":[{"name":"Noel"},{"name":"Jonas"}]}]";

StringReader sr = new StringReader(jsonString);
JsonReader jr = new JsonTextReader(sr);
List<WebInfo> dataList = new JsonSerializer().Deserialize(jr, typeof(List<WebInfo>)) as List<WebInfo>;Code-Sprache: PHP (php)

Serialisierung und Deserialisierung von Arrays

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert