Невозможно сериализовать перечисление в строку. net core 3.1 - PullRequest
0 голосов
/ 23 марта 2020

, используя приведенную ниже конфигурацию в файле startup.cs services.AddControllers() .AddNewtonsoftJson(opt => opt.SerializerSettings.Converters.Add(new Newtonsoft.Json.Converters.StringEnumConverter()))

, но не может сериализовать перечисление в строковые значения. На странице чванства отображаются только целочисленные значения. Могут ли некоторые помочь мне, как это исправить?

1 Ответ

0 голосов
/ 24 марта 2020

Для этого есть несколько способов.

  • Добавьте атрибут [JsonConverter(typeof(StringEnumConverter))] в поле Enum.

    using Newtonsoft.Json;
    using Newtonsoft.Json.Converters;
    
    [JsonConverter(typeof(StringEnumConverter))]
    public Gender Gender { get; set; }
    
  • Добавить formatting параметр во время сериализации.

    string value = JsonConvert.SerializeObject(objectlist,new Newtonsoft.Json.Converters.StringEnumConverter());

Вы также можете обратиться к this .

...