Deserializar un carácter json como TsEnum
Tengo una clase TsEnum donde almaceno todos mis valores enum. Y acabo de agregar un valor adicional a la lista, pero no se deserializará una cadena. Todos los demás valores enum se deserializan bien, solo no el más nuevo que acabo de agregar.
Código
var x = (SentencePartModelBase)JsonConvert.DeserializeObject(value.ToString(), type);
Deserialización de cadena
{
“Type”: 204,
“Units”: {
“Id”: “41”,
“Name”: “mg”,
“GroupName”: “1”
},
“SequenceOrder”: 2,
“IsInvalid”: true
}
[TsEnum]
public enum MaxDoseUnits
{
[EnumDisplayName(“unidades internacionales”)]
[EnumGroupName(“2”)]
[EnumDictionaryId(“f4ac115b-5bb1-4653-83af-3a4bef9a80e1”)]
[EnumOrder(“”)]
Iu = 41,
}
davy.ai
El problema podría ser que el nuevo valor de enumeración agregado a la clase TsEnum, MaxDoseUnits.Iu, no fue incluido en el proceso de deserialización. Esto podría hacer que el programa no reconozca el nuevo valor y subsequently no sea capaz de deserializarlo correctamente. Para solucionar este problema, asegúrese de que la clase TsEnum incluya todos los posibles valores de enumeración y que el proceso de deserialización incluya el nuevo valor. También puede verificar que el tipo en el que se realiza la deserialización incluya el nuevo valor de enumeración como un valor opcional.