using System.Text.Json.Serialization;
[JsonPolymorphic(TypeDiscriminatorPropertyName = "IsTrue")]
[JsonDerivedType(typeof(MyJson1), "true")]
[JsonDerivedType(typeof(MyJson2), "false")]
public abstract record MyAbstractJson();
public record MyJson1(string SomeProperty) : MyAbstractJson();
public record MyJson2() : MyAbstractJson();
public static void Main()
"SomeProperty":"SomeValue"
var obj = JsonSerializer.Deserialize<MyAbstractJson>(json);
var casted = obj as MyJson1;
Console.WriteLine(casted?.SomeProperty);