Ich verwende Newtonsoft's JsonSerializer, um einige Klassen zu serialisieren.Wie kann ich ein Attribut in einer abgeleiteten Klasse "un-JsonIgnore"?
Als ich ein Feld meiner Klasse in der Serialisierung verzichten wollte, erklärte ich es wie folgt:
[JsonIgnore]
public int ParentId { get; set; }
Das funktionierte, aber ich bin jetzt ein neues Problem: In einer abgeleiteten Klasse I möchte, dass dieses Feld angezeigt wird (und tun Sie dies nur in dieser spezifischen abgeleiteten Klasse).
Ich habe in der Dokumentation und im Internet nach einer Möglichkeit gesucht, diese Einstellung in untergeordneten Klassen zu überschreiben (ich denke, ich brauche etwas wie [JsonStopIgnore]
, aber ich konnte nichts in der Nähe finden).
- Gibt es für mich eine Möglichkeit,
JsonSerializer
zu zwingen, wieder dieses Attribut zu holen? - Ist es möglich, ein Attribut explizit als
[JsonIgnore]
, aber nur in der Basisklasse zu markieren?
Vielen Dank für diese Erklärung zu ContractResolvers! Wenn ich keine leichtere Lösung finden kann, werde ich diesen Weg gehen, der zumindest eine Anpassung erlaubt. – PLNech
@PLNech Sicher Sache. Dies ist definitiv die "schwerste" Lösung, aber ich nehme an, dass es auch die "richtige" Art ist, es mit Json.NET zu handhaben. –
Und ich bin dankbar, dass ich jetzt einen Verweis auf den "richtigen" Weg habe, sollte ich mich nicht in der Lage finden, einen "faulen" zu verwenden: P – PLNech