2016-06-24 5 views
1

Ich habe ein Modell für meine API-Antwort, die eine Eigenschaft des Typs enum hat. Die ENUM-Eigenschaft wird nur in einigen Szenarien Rest des Szenarios bevölkert wird es den Standardwert von 0Ausschließen von Enum-Eigenschaften mit Standardwerten in JSON-Antwort

Ausgang {
PROP1: „ABCD“
prop2: 0 //// dies Enum-Eigenschaft auf Null säumige

Ich habe versucht, den benutzerdefinierten jsonconverter, aber dies löst nicht wirklich das Problem, da ich nur einen String-Wert zuweisen kann.
Wie kann ich die Enum-Eigenschaft von der Antwort ausschließen, wenn es den Standardwert hat.

+2

Machen Sie das Modell eine Nullable-Eigenschaft (en) ('Nullable <>') und explizit den Wert auf Null anstelle von 0. – Igor

+0

Ich bin nicht Inbetriebn Einstellung es auf Null, da das Modell initialisiert wird. Diese Eigenschaft wird enum auf den ersten Enum-Wert gesetzt. – TusharJ

+0

Scheint wie Sie in der Lage sein sollten, ['DefaultValueHandling = DefaultValueHandling.Ignore'] (http://www.newtonsoft.com/json/help/html/DefaultValueHandlingIgnore.htm) zu verwenden. Wenn das nicht funktioniert, bearbeiten Sie Ihre Frage und fügen Sie eine [mcve] ein, die das Problem veranschaulicht. – dbc

Antwort

0

Dies wird gelöst, indem zwei Dinge getan werden
1. Machen Sie die Enum-Eigenschaft als Nullable und initialisiert es im Konstruktor auf Null.
2. Verwenden json Serializer NullValueHandling = NullValueHandling.Ignore

Verwandte Themen