Сериализация перечисления как строки без строковых кавычек

Я хочу сериализовать перечисление как строку, используя JSON.NET, но я хочу, чтобы значение Enum сериализовалось без строковых кавычек

    [JsonConverter(typeof(StringEnumConverter))]
    enum Gender { Male, Female }

    class Test
    {
        public Gender { get; set; }
    }

Прямо сейчас я получаю вывод как { "Gender": "Male" }

{ "Gender": Male }  //Male is without quotes

🤔 А знаете ли вы, что...
С C# можно разрабатывать веб-приложения с использованием ASP.NET и ASP.NET Core.


1
1 007
2

Ответы:

Решено

Это невозможно, потому что этот json будет недействительным. Вы можете проверить, как выглядит действительный json на https://jsonlint.com.

Все библиотеки JSON Convert имеют правильную структуру json, вы всегда можете написать свой собственный конвертер json для этого, но я бы не рекомендовал этого вообще.


Это невозможно (и действительно не рекомендуется), потому что это не соблюдает синтаксис JSON.

См.: [https://www.w3schools.com/js/js_json_syntax.asp][1]

В JSON значения должны быть одного из следующих типов данных:

строка число объект (объект JSON) массив логическое значение нулевой