Tuesday, November 4, 2025

c# - How to force JSON enum to save as TEXT instead of a NUMBER

This enum property:
public enum MinimizeActionEnum {
  NONE = 0,
  CLEAR = 1
}
    
public MinimizeActionEnum MinimizeAction { get; set; } = MinimizeActionEnum.NONE;
It is saved as INT by default:
"ReportParams": [
{
  "Name": "pProdId",
  "Description": "",
  "MinimizeAction": 0
},
With using that attribute:
[JsonConverter(typeof(JsonStringEnumConverter))]
public MinimizeActionEnum MinimizeAction { get; set; } = MinimizeActionEnum.NONE;
the enum value will be stored as TEXT:
"ReportParams": [
{
  "Name": "pProdId",
  "Description": "",
  "MinimizeAction": NONE
},

No comments:

Post a Comment