<PackageReference Include="System.Text.Json" Version="11.0.0-preview.2.26159.112" />

System.Text.Json.Serialization.Metadata.JsonMetadataServices

public static class JsonMetadataServices
Provides helpers to create and initialize metadata for JSON-serializable types.
namespace System.Text.Json.Serialization.Metadata { public static class JsonMetadataServices { public static JsonConverter<bool> BooleanConverter { get; } public static JsonConverter<byte[]> ByteArrayConverter { get; } public static JsonConverter<byte> ByteConverter { get; } public static JsonConverter<char> CharConverter { get; } public static JsonConverter<DateTime> DateTimeConverter { get; } public static JsonConverter<DateTimeOffset> DateTimeOffsetConverter { get; } public static JsonConverter<DateOnly> DateOnlyConverter { get; } public static JsonConverter<TimeOnly> TimeOnlyConverter { get; } public static JsonConverter<decimal> DecimalConverter { get; } public static JsonConverter<double> DoubleConverter { get; } public static JsonConverter<Guid> GuidConverter { get; } public static JsonConverter<short> Int16Converter { get; } public static JsonConverter<int> Int32Converter { get; } public static JsonConverter<long> Int64Converter { get; } public static JsonConverter<Int128> Int128Converter { get; } public static JsonConverter<UInt128> UInt128Converter { get; } public static JsonConverter<JsonArray> JsonArrayConverter { get; } public static JsonConverter<JsonElement> JsonElementConverter { get; } public static JsonConverter<JsonNode> JsonNodeConverter { get; } public static JsonConverter<JsonObject> JsonObjectConverter { get; } public static JsonConverter<JsonValue> JsonValueConverter { get; } public static JsonConverter<JsonDocument> JsonDocumentConverter { get; } public static JsonConverter<Memory<byte>> MemoryByteConverter { get; } public static JsonConverter<ReadOnlyMemory<byte>> ReadOnlyMemoryByteConverter { get; } public static JsonConverter<object> ObjectConverter { get; } public static JsonConverter<Half> HalfConverter { get; } public static JsonConverter<float> SingleConverter { get; } public static JsonConverter<sbyte> SByteConverter { get; } public static JsonConverter<string> StringConverter { get; } public static JsonConverter<TimeSpan> TimeSpanConverter { get; } public static JsonConverter<ushort> UInt16Converter { get; } public static JsonConverter<uint> UInt32Converter { get; } public static JsonConverter<ulong> UInt64Converter { get; } public static JsonConverter<Uri> UriConverter { get; } public static JsonConverter<Version> VersionConverter { get; } public static JsonTypeInfo<TElement[]> CreateArrayInfo<[Nullable(2)] TElement>(JsonSerializerOptions options, JsonCollectionInfoValues<TElement[]> collectionInfo); public static JsonTypeInfo<TCollection> CreateListInfo<[Nullable(0)] TCollection, [Nullable(2)] TElement>(JsonSerializerOptions options, JsonCollectionInfoValues<TCollection> collectionInfo) where TCollection : List<TElement>; public static JsonTypeInfo<TCollection> CreateDictionaryInfo<[Nullable(0)] TCollection, TKey, [Nullable(2)] TValue>(JsonSerializerOptions options, JsonCollectionInfoValues<TCollection> collectionInfo) where TCollection : Dictionary<TKey, TValue>; public static JsonTypeInfo<TCollection> CreateImmutableDictionaryInfo<[Nullable(0)] TCollection, TKey, [Nullable(2)] TValue>(JsonSerializerOptions options, JsonCollectionInfoValues<TCollection> collectionInfo, Func<IEnumerable<KeyValuePair<TKey, TValue>>, TCollection> createRangeFunc) where TCollection : IReadOnlyDictionary<TKey, TValue>; public static JsonTypeInfo<TCollection> CreateIDictionaryInfo<[Nullable(0)] TCollection, TKey, [Nullable(2)] TValue>(JsonSerializerOptions options, JsonCollectionInfoValues<TCollection> collectionInfo) where TCollection : IDictionary<TKey, TValue>; public static JsonTypeInfo<TCollection> CreateIReadOnlyDictionaryInfo<[Nullable(0)] TCollection, TKey, [Nullable(2)] TValue>(JsonSerializerOptions options, JsonCollectionInfoValues<TCollection> collectionInfo) where TCollection : IReadOnlyDictionary<TKey, TValue>; public static JsonTypeInfo<TCollection> CreateImmutableEnumerableInfo<[Nullable(0)] TCollection, [Nullable(2)] TElement>(JsonSerializerOptions options, JsonCollectionInfoValues<TCollection> collectionInfo, Func<IEnumerable<TElement>, TCollection> createRangeFunc) where TCollection : IEnumerable<TElement>; public static JsonTypeInfo<TCollection> CreateIListInfo<[Nullable(0)] TCollection>(JsonSerializerOptions options, JsonCollectionInfoValues<TCollection> collectionInfo) where TCollection : IList; public static JsonTypeInfo<TCollection> CreateIListInfo<[Nullable(0)] TCollection, [Nullable(2)] TElement>(JsonSerializerOptions options, JsonCollectionInfoValues<TCollection> collectionInfo) where TCollection : IList<TElement>; public static JsonTypeInfo<TCollection> CreateISetInfo<[Nullable(0)] TCollection, [Nullable(2)] TElement>(JsonSerializerOptions options, JsonCollectionInfoValues<TCollection> collectionInfo) where TCollection : ISet<TElement>; public static JsonTypeInfo<TCollection> CreateIReadOnlySetInfo<[Nullable(0)] TCollection, [Nullable(2)] TElement>(JsonSerializerOptions options, JsonCollectionInfoValues<TCollection> collectionInfo) where TCollection : IReadOnlySet<TElement>; public static JsonTypeInfo<TCollection> CreateICollectionInfo<[Nullable(0)] TCollection, [Nullable(2)] TElement>(JsonSerializerOptions options, JsonCollectionInfoValues<TCollection> collectionInfo) where TCollection : ICollection<TElement>; public static JsonTypeInfo<TCollection> CreateStackInfo<[Nullable(0)] TCollection, [Nullable(2)] TElement>(JsonSerializerOptions options, JsonCollectionInfoValues<TCollection> collectionInfo) where TCollection : Stack<TElement>; public static JsonTypeInfo<TCollection> CreateQueueInfo<[Nullable(0)] TCollection, [Nullable(2)] TElement>(JsonSerializerOptions options, JsonCollectionInfoValues<TCollection> collectionInfo) where TCollection : Queue<TElement>; public static JsonTypeInfo<TCollection> CreateConcurrentStackInfo<[Nullable(0)] TCollection, [Nullable(2)] TElement>(JsonSerializerOptions options, JsonCollectionInfoValues<TCollection> collectionInfo) where TCollection : ConcurrentStack<TElement>; public static JsonTypeInfo<TCollection> CreateConcurrentQueueInfo<[Nullable(0)] TCollection, [Nullable(2)] TElement>(JsonSerializerOptions options, JsonCollectionInfoValues<TCollection> collectionInfo) where TCollection : ConcurrentQueue<TElement>; public static JsonTypeInfo<TCollection> CreateIEnumerableInfo<[Nullable(0)] TCollection, [Nullable(2)] TElement>(JsonSerializerOptions options, JsonCollectionInfoValues<TCollection> collectionInfo) where TCollection : IEnumerable<TElement>; public static JsonTypeInfo<TCollection> CreateIAsyncEnumerableInfo<[Nullable(0)] TCollection, [Nullable(2)] TElement>(JsonSerializerOptions options, JsonCollectionInfoValues<TCollection> collectionInfo) where TCollection : IAsyncEnumerable<TElement>; public static JsonTypeInfo<TCollection> CreateIDictionaryInfo<[Nullable(0)] TCollection>(JsonSerializerOptions options, JsonCollectionInfoValues<TCollection> collectionInfo) where TCollection : IDictionary; public static JsonTypeInfo<TCollection> CreateStackInfo<[Nullable(0)] TCollection>(JsonSerializerOptions options, JsonCollectionInfoValues<TCollection> collectionInfo, Action<TCollection, object> addFunc) where TCollection : IEnumerable; public static JsonTypeInfo<TCollection> CreateQueueInfo<[Nullable(0)] TCollection>(JsonSerializerOptions options, JsonCollectionInfoValues<TCollection> collectionInfo, Action<TCollection, object> addFunc) where TCollection : IEnumerable; public static JsonTypeInfo<TCollection> CreateIEnumerableInfo<[Nullable(0)] TCollection>(JsonSerializerOptions options, JsonCollectionInfoValues<TCollection> collectionInfo) where TCollection : IEnumerable; public static JsonTypeInfo<Memory<TElement>> CreateMemoryInfo<[Nullable(2)] TElement>(JsonSerializerOptions options, JsonCollectionInfoValues<Memory<TElement>> collectionInfo); public static JsonTypeInfo<ReadOnlyMemory<TElement>> CreateReadOnlyMemoryInfo<[Nullable(2)] TElement>(JsonSerializerOptions options, JsonCollectionInfoValues<ReadOnlyMemory<TElement>> collectionInfo); public static JsonConverter<T> GetUnsupportedTypeConverter<[Nullable(2)] T>(); public static JsonConverter<T> GetEnumConverter<[Nullable(0)] T>(JsonSerializerOptions options) where T : struct, Enum; public static JsonConverter<T?> GetNullableConverter<T>(JsonTypeInfo<T> underlyingTypeInfo) where T : struct; public static JsonConverter<T?> GetNullableConverter<T>(JsonSerializerOptions options) where T : struct; public static JsonPropertyInfo CreatePropertyInfo<[Nullable(2)] T>(JsonSerializerOptions options, JsonPropertyInfoValues<T> propertyInfo); public static JsonTypeInfo<T> CreateObjectInfo<T>(JsonSerializerOptions options, JsonObjectInfoValues<T> objectInfo); public static JsonTypeInfo<T> CreateValueInfo<[Nullable(2)] T>(JsonSerializerOptions options, JsonConverter converter); } }