Deserialisieren von Schnittstelleninstanzsammlungen
Es ist üblich, Daten als Instanzen von Schnittstellen zu speichern, wie im Beispiel ClassToSerializeViaJson. Allerdings kann die Deserialisierung solcher Sammlungen zu Fehlern wie dem in der Frage genannten führen.
Lösung:
Um das Problem zu beheben, erfordert Json.Net eine zusätzliche Konfiguration, um die Deserialisierung zu ermöglichen der Schnittstelle Instanzen.
Serialisierung:
string serializedJson = JsonConvert.SerializeObject(objectToSerialize, Formatting.Indented, new JsonSerializerSettings { TypeNameHandling = TypeNameHandling.Objects, TypeNameAssemblyFormat = System.Runtime.Serialization.Formatters.FormatterAssemblyStyle.Simple });
Deserialisierung:
var deserializedObject = JsonConvert.DeserializeObject<ClassToSerializeViaJson>(serializedJson, new JsonSerializerSettings { TypeNameHandling = TypeNameHandling.Objects });
Durch die Implementierung dieser Einstellungen kann Json.Net Schnittstelleninstanzsammlungen ordnungsgemäß deserialisieren und so die Wiederherstellung der ursprünglichen Datenstruktur ermöglichen.
Das obige ist der detaillierte Inhalt vonWie kann ich Sammlungen von Schnittstelleninstanzen mithilfe von Json.Net deserialisieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!