using System.Text.Json.Serialization;
public class ObjectWithEnum {
public ValuesEnum Values { get; set;}
public static void Main()
var options = new JsonSerializerOptions
new JsonStringEnumConverter(JsonNamingPolicy.CamelCase)
var obj = new ObjectWithEnum{ Values = ValuesEnum.Lend | ValuesEnum.Borrow };
string jsonString = JsonSerializer.Serialize(obj, options);
Console.WriteLine(obj.Values);
Console.WriteLine(jsonString);
var dObj = JsonSerializer.Deserialize<ObjectWithEnum>(jsonString, options);
Console.WriteLine(obj.Values);
var isLend = (dObj.Values & ValuesEnum.Lend) == ValuesEnum.Lend;
var isBorrow = (dObj.Values & ValuesEnum.Borrow) == ValuesEnum.Borrow;
Console.WriteLine(nameof(isLend) + " " + isLend);
Console.WriteLine(nameof(isBorrow) + " " + isBorrow);