using System.Runtime.Serialization;
using System.Text.Json.Serialization;
using Microsoft.AspNetCore.Mvc;
using System.Text.Encodings.Web;
using System.Text.Unicode;
[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 Operator Operator {get; init;}
public static void Main() {
JsonSerializerOptions SerializationOptions = new() {
PropertyNamingPolicy = JsonNamingPolicy.CamelCase,
new JsonStringEnumConverter()
var serialized = JsonSerializer.Deserialize<BasicJson>("{\"operator\": \"<=\"}", SerializationOptions);
Console.Write($"{serialized.Operator}");