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

ObjectConverter

sealed class ObjectConverter : JsonConverter<object>
namespace System.Text.Json.Serialization.Converters { internal sealed class ObjectConverter : JsonConverter<object> { public override object Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) { using (JsonDocument jsonDocument = JsonDocument.ParseValue(ref reader)) return jsonDocument.RootElement.Clone(); } public override void Write(Utf8JsonWriter writer, object value, JsonSerializerOptions options) { throw new InvalidOperationException(); } internal override object ReadWithQuotes(ref Utf8JsonReader reader) { ThrowHelper.ThrowNotSupportedException_DictionaryKeyTypeNotSupported(TypeToConvert); return null; } internal override void WriteWithQuotes(Utf8JsonWriter writer, object value, JsonSerializerOptions options, ref WriteStack state) { JsonConverter runtimeConverter = GetRuntimeConverter(value.GetType(), options); runtimeConverter.WriteWithQuotesAsObject(writer, value, options, ref state); } private JsonConverter GetRuntimeConverter(Type runtimeType, JsonSerializerOptions options) { JsonConverter dictionaryKeyConverter = options.GetDictionaryKeyConverter(runtimeType); if (dictionaryKeyConverter == this) ThrowHelper.ThrowNotSupportedException_DictionaryKeyTypeNotSupported(runtimeType); return dictionaryKeyConverter; } } }