У меня есть класс со свойством типа enum
property и при сериализации в json оно выводится как число, в то время как мне надо чтобы результат был в виде строки.
В качестве примера:
enum Gender { Male, Female }
class Person
{
int Age { get; set; }
Gender Gender { get; set; }
}
Желаемый вариант json:
{ "Age": 35, "Gender": "Male" }
Каким способом это можно сделать?
Свободный перевод вопроса JavaScriptSerializer - JSON serialization of enum as string от участника @Omer Bokhari.
Раз вы пользуетесь json.Net то можете просто использовать атрибут
class Person
{
int Age { get; set; }
[JsonConverter(typeof(StringEnumConverter))]
Gender Gender { get; set; }
}
Также можно указать при настройке сериализатора:
JsonConvert.SerializeObject(MyObject,
new Newtonsoft.Json.Converters.StringEnumConverter());
или:
serializer.Converters.Add(new Newtonsoft.Json.Converters.StringEnumConverter());
Документация: StringEnumConverter Class
Свободный перевод ответа JavaScriptSerializer - JSON serialization of enum as string от участника @Matt Dearing.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Знакомлюсь с IoC контейнерами и NinjectПо примерам в сети сделал реализацию для Ninject
Не пойму из за чего может возникать ошибка при попытке отправить POST запросПри попытке отправить POST запрос возникает такая ошибка: Array ( [state]...