<PackageReference Include="System.Text.Json" Version="8.0.1" />

JsonArrayConverter

using System.Text.Json.Nodes; namespace System.Text.Json.Serialization.Converters { internal sealed class JsonArrayConverter : JsonConverter<JsonArray> { public override void Write(Utf8JsonWriter writer, JsonArray value, JsonSerializerOptions options) { if (value == null) writer.WriteNullValue(); else value.WriteTo(writer, options); } public override JsonArray Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { switch (reader.TokenType) { case JsonTokenType.StartArray: return ReadList(ref reader, options.GetNodeOptions()); case JsonTokenType.Null: return null; default: throw ThrowHelper.GetInvalidOperationException_ExpectedArray(reader.TokenType); } } public static JsonArray ReadList(ref Utf8JsonReader reader, JsonNodeOptions? options = default(JsonNodeOptions?)) { JsonElement element = JsonElement.ParseValue(ref reader); return new JsonArray(element, options); } } }