.NET Fiddle

CSharp · Console

/Program.cs

using System;
using System.IO;
using System.Linq;
using System.Reflection;
using System.Runtime.Serialization;
using System.Text.Json;
using System.Text.Json.Serialization;
using Microsoft.AspNetCore.Mvc;
using System.Text.Encodings.Web;
using System.Text.Unicode;


public class Program {
    public enum Operator {
        [EnumMember(Value = "and")] And,
        [EnumMember(Value = "or")] Or,
        [EnumMember(Value = "not")] Not,
        [EnumMember(Value = "none")] None,
        [EnumMember(Value = "<=")] LessOrEqual,
		    [EnumMember(Value = "lesseq")] LessEq,
        [EnumMember(Value = "<")] Less,
        [EnumMember(Value = "=")] Equal,
        [EnumMember(Value = ">=")] GreaterOrEqual,
        [EnumMember(Value = ">")] Greater,
        [EnumMember(Value = "!=")] NotEqual,
        [EnumMember(Value = "in")] In,
        [EnumMember(Value = "!in")] NotIn,
    }

	public class BasicJson { 
			public Operator Operator	{get; init;}
	}

    public static void Main() {
		JsonSerializerOptions SerializationOptions = new() {
        PropertyNamingPolicy = JsonNamingPolicy.CamelCase,
        // IgnoreNullValues applies to both serialization and deserialization.
        // It is especially important for deserialization - it allows us to have
        // non-nullable fields initialized to a default value and know that
        // System.text.json won't assign over that default with null.
        IgnoreNullValues = true,
        Converters = {
                new JsonStringEnumConverter()
            },

    };
        var serialized = JsonSerializer.Deserialize<BasicJson>("{\"operator\": \"<=\"}", SerializationOptions);
        Console.Write($"{serialized.Operator}");

    }


}
;