У меня есть этот JSON строкуC# - Deserialize JSON строку Enum [] с помощью DataContractJsonSerializer
[ \"postal_code\" ]
Мое определение перечисления:
[DataContract]
public enum MyEnum
{
[EnumMember(Value = "postal_code")]
PostalCode,
}
Вот что я сделал до сих пор:
byte[] byteArray = Encoding.ASCII.GetBytes(jsonString);
MemoryStream outputStream = new MemoryStream(byteArray);
DataContractJsonSerializer dataContractJsonSerializer = new DataContractJsonSerializer(typeof(MyEnum[]));
MyEnum[] myEnum = (MyEnum[]) dataContractJsonSerializer.ReadObject(outputStream);
outputStream.Close();
//return myEnum ;
Я получаю сообщение об ошибке при достижении строки ReadObject
System.FormatException: Input string was not in the correct format: nDigits == 0.
Как правильно десериализовать строку JSON в MyEnum?
Я также хочу избежать использования JSON.Net. Я хочу пойти с DataContractJsonSerializer.
что у вас есть в 'knownTypes'? – yogi
ах, извините, я установил это на нуль, я обновил сообщение –
Я думал о предоставлении TypeConverter или какой-то форме, но я не уверен, как правильно это реализовать. Я попробовал это, но почему-то TypeConverter не вызван. –