Mein Ziel ist es, Eigenschaften zu serialisieren, die keine Attribute und Eigenschaften haben, die ein bestimmtes benutzerdefiniertes Attribut haben.Benutzerdefinierte Attributbehandlung in Json.Net
Für die folgende Klasse:
public class Msg
{
public long Id { get; set; }
[CustomAttributeA]
public string Text { get; set; }
[CustomAttributeB]
public string Status { get; set; }
}
Wenn ich eine Methode Serialize(object, CustomAttributeA)
nennen, möchte ich die folgende Ausgabe haben:
{
"Id" : someId,
"Text" : "some text"
}
Und wenn ich Serialize(object, CustomAttributeB)
nennen, möchte ich folgendes haben:
{
"Id" : someId,
"Status" : "some status"
}
Ich habe gelesen, dass es möglich ist, zu erreichen dies durch Erstellen einer benutzerdefinierten ContractResolver
, aber in diesem Fall muss ich zwei separate Vertragsresolver erstellen?
Sie könnten auch diese generische - IMO ein wenig schöner 'Serialize (Obj)' und 'Serialize (Obj);' –
Jamiec
@Jamiec Gute Vorschlag. Ich werde meine Antwort aktualisieren. –
Große Antwort BTW! – Jamiec