Is it possible to serialize an enum dictionary key as a number? Example:
public enum MyEnum
{
  One = 1,
  Two = 2
}
JsonSerializer.Serialize(new Dictionary<MyEnum, int>
{
   [MyEnum.One] = 1,
   [MyEnum.Two] = 2
});
Output:
{"1":1,"2":2}
Is it possible to serialize an enum dictionary key as a number? Example:
public enum MyEnum
{
  One = 1,
  Two = 2
}
JsonSerializer.Serialize(new Dictionary<MyEnum, int>
{
   [MyEnum.One] = 1,
   [MyEnum.Two] = 2
});
Output:
{"1":1,"2":2}
 
    
     
    
    You can write your custom converter which will support writing dictionary keys:
class JsonEnumNumberConverter : JsonConverter<MyEnum>
{
    public override MyEnum Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) => throw new NotImplementedException();
    public override void Write(Utf8JsonWriter writer, MyEnum value, JsonSerializerOptions options) => throw new NotImplementedException();
    public override void WriteAsPropertyName(Utf8JsonWriter writer, MyEnum value, JsonSerializerOptions options) =>
         writer.WritePropertyName(value.ToString("D"));
}
And example usage (or pass in settings for Serialize method):
[JsonConverter(typeof(JsonEnumNumberConverter))]
public enum MyEnum
{
    One = 1,
    Two = 2
}
Or use JsonStringEnumMemberConverter from Macross.Json.Extensions which scans for EnumMemberAttribute:
[JsonConverter(typeof(System.Text.Json.Serialization.JsonStringEnumMemberConverter))]  
public enum MyEnum
{
    [EnumMember(Value = "1")]
    One,
    [EnumMember(Value = "2")]
    Two
}
