I am using System.Text.Json.Serialization I am trying to deserialize a member with a dash in the EnumMember value CheckStatus.
  [System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Serialization.JsonStringEnumConverter))]
  public enum CheckStatus
  {
       [System.Runtime.Serialization.EnumMember(Value = "newFile")]
       NewFile,
       [System.Runtime.Serialization.EnumMember(Value = "check-status")]
       CheckStatus,
  }
I have written a BindModelAsync
   public class FileStatusModelBuilder : IModelBinder
    {
        public Task BindModelAsync(ModelBindingContext bindingContext)
        {
            var rawData = bindingContext.ValueProvider.GetValue(bindingContext.ModelName).FirstValue;
            rawData = JsonSerializer.Serialize(rawData);
            CheckStatus result = JsonSerializer.Deserialize<CheckStatus>(rawData);
            bindingContext.Result = ModelBindingResult.Success(result);
            return Task.CompletedTask;
        }
    }
When passing in newFile the binding works and will bind to NewFile, but as soon as I use check-status I get the following error.
The JSON value could not be converted to [...].CheckStatus. Path: $ | LineNumber: 0 | BytePositionInLine: 15.
I don't want to use newtonsoft but would like to be able to have an enum with a dash in the EnumMember value.
 
     
    