Skip to main content
1 of 2
Tim S.
  • 56.7k
  • 9
  • 100
  • 124

Json.NET's StringEnumConverter will read the EnumMember attribute. If you change your enum to this, it will serialize from and to the values you want.

[JsonConverter(typeof(StringEnumConverter))] public enum Animals { [EnumMember(Value = "dog")] Dog, [EnumMember(Value = "cat")] Cat, [EnumMember(Value = "black_bear")] BlackBear } 

(As a minor note, since Animals isn't a flags enum, it should be singular: Animal. You should consider changing it to this.)

Tim S.
  • 56.7k
  • 9
  • 100
  • 124