using System.Collections.Generic;
var r1 = new Record1(new object[] { 1 });
var r1D = JsonSerializer.Deserialize<Record1>("{}");
var r1D1 = JsonSerializer.Deserialize<Record1>("{\"Required\":[1]}");
Console.WriteLine(r1.Required.Count);
Console.WriteLine(r1D.Required.Count);
Console.WriteLine(r1D1.Required.Count);
var r2 = new Record2(new object[] { 1 });
var r2D = JsonSerializer.Deserialize<Record2>("{}");
var r2D1 = JsonSerializer.Deserialize<Record2>("{\"Required\":[1]}");
Console.WriteLine(r2.Required.Count);
Console.WriteLine(r2D.Required.Count);
Console.WriteLine(r2D1.Required.Count);
public record Record1(IReadOnlyCollection<object> Required)
public IReadOnlyCollection<object> Required { get; init; } = Required ?? Array.Empty<object>();
public record Record2(IReadOnlyCollection<object> Required)
public IReadOnlyCollection<object> Required { get; init; } = Array.Empty<object>();