Heim >Backend-Entwicklung >C++ >Wie deserialisiere ich ein JSON-Objektarray mit nicht übereinstimmender Struktur mithilfe von Json.net?
Es kann vorkommen, dass eine gewünschte JSON-Struktur geringfügig vom erwarteten Format abweicht. Dieses Problem tritt beispielsweise im speziellen Fall eines JSON-Objektarrays auf, wie unten gezeigt:
[ { "customer":{ ... } }, { "customer":{ ... } } ]
Leider erwartet Json.net eine konventionellere Struktur wie diese:
{ "customer": { ... } }
Wie können wir also diese Inkonsistenz in Einklang bringen?
Die Lösung liegt in der Erstellung eines benutzerdefinierten Modells, das mit der Realität übereinstimmt JSON-Struktur. Durch die Definition von Klassen wie CustomerJson und Customer können wir die JSON-Eigenschaften bestimmten Feldern zuordnen:
public class CustomerJson { [JsonProperty("customer")] public Customer Customer { get; set; } } public class Customer { [JsonProperty("first_name")] public string Firstname { get; set; } [JsonProperty("last_name")] public string Lastname { get; set; } ... }
Mit diesem benutzerdefinierten Modell können wir den bereitgestellten JSON mühelos deserialisieren, indem wir Folgendes verwenden:
JsonConvert.DeserializeObject<List<CustomerJson>>(json);
Umfassende Informationen zur JSON-Serialisierung und -Deserialisierung finden Sie schließlich in der offiziellen Dokumentation.
Das obige ist der detaillierte Inhalt vonWie deserialisiere ich ein JSON-Objektarray mit nicht übereinstimmender Struktur mithilfe von Json.net?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!