Используйте общую политику для сериализации enums в виде струн с корпусом SnakeC#

Место общения программистов C#
Ответить
Anonymous
 Используйте общую политику для сериализации enums в виде струн с корпусом Snake

Сообщение Anonymous »

Я переношу некоторые библиотеки в .NET 8 и пытаюсь использовать новый JsonNamingPolicy.SnakeCaseLower для перечислений (у меня есть собственный преобразователь, который я сейчас использую, который использует отражение, но я хочу отказаться от него).
Я могу сериализовать перечисление в случай змеи, используя этот JsonSerializerOptions:

Код: Выделить всё

JsonSerializerOptions options = new()
{
DefaultIgnoreCondition = JsonIgnoreCondition.WhenWritingNull,
PropertyNamingPolicy = JsonNamingPolicy.SnakeCaseLower,
};

options.Converters.Add(new JsonStringEnumConverter(namingPolicy: JsonNamingPolicy.SnakeCaseLower));
Проблема заключается в том, что в соответствии с документацией негенерический тип jsonstringenumConverter не поддерживается для AOT. Представленное решение заключается в использовании [jsonsourcegenerationoptions (usestringenumConverter = true)] в классе, наследуя от jsonserializercontext , но затем я теряю политику имен для enum. способ?

Подробнее здесь: https://stackoverflow.com/questions/775 ... snake-case
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»