में एनम में खाली स्ट्रिंग के deserialization को संभालने के लिए कैसे मैं एक enum में जेसन गुणों deserializing हूँ, लेकिन संपत्ति एक खाली स्ट्रिंग है जब मुझे मामलों को संभालने में समस्याएं हैं।json.net
मूल्य परिवर्तित "" टाइप करने के लिए त्रुटि 'EnrollmentState'
मैं एक requiredItem
में state
संपत्ति deserialize करने के लिए कोशिश कर रहा हूँ।
{
"currentStage" : "Pre-Approved",
"stages" : ["Applicant", "Pre-Approved", "Approved", "Enrolled"],
"requiredItems" : [{
"id" : 1,
"name" : "Documents",
"state" : ""
}, {
"id" : 2,
"name" : "Eligibility Verification",
"state" : "complete"
}, {
"id" : 3,
"name" : "Placement Information",
"state" : "incomplete"
}
]
}
RequiredItem
वर्ग और enum ...
public class RequiredItem {
/// <summary>
/// Gets or sets the identifier.
/// </summary>
/// <value>The identifier.</value>
public string id { get; set; }
/// <summary>
/// Gets or sets the name.
/// </summary>
/// <value>The name.</value>
public string name { get; set; }
/// <summary>
/// Gets or sets the status.
/// </summary>
/// <value>The status.</value>
[JsonProperty(ItemConverterType = typeof(StringEnumConverter))]
public EnrollmentState state { get; set; }
}
[JsonConverter(typeof(StringEnumConverter))]
public enum EnrollmentState {
[EnumMember(Value = "incomplete")]
Incomplete,
[EnumMember(Value = "actionNeeded")]
ActionNeeded,
[EnumMember(Value = "complete")]
Complete
}
मैं कैसे अक्रमांकन लिए एक डिफ़ॉल्ट मान सेट कर सकते हैं ताकि रिक्त स्ट्रिंग एक रनटाइम त्रुटि फेंकने की बजाय EnrollmentState.Incomplete
में deserialized किया जाएगा?
तुम सिर्फ एक हैंडलर रिक्त स्ट्रिंग के लिए EnrollmentState enum करने के लिए जोड़ सकते हैं? – Maess