<PackageReference Include="System.Text.Json" Version="10.0.0-preview.1.25080.5" />
DateTimeConverter
using System.
Text.
Json.
Schema;
namespace System.
Text.
Json.
Serialization.
Converters
{
internal sealed class DateTimeConverter :
JsonPrimitiveConverter<
DateTime>
{
public override DateTime Read(
ref Utf8JsonReader reader,
Type typeToConvert,
JsonSerializerOptions options)
{
return reader.
GetDateTime();
}
public override void Write(
Utf8JsonWriter writer,
DateTime value,
JsonSerializerOptions options)
{
writer.
WriteStringValue(
value);
}
internal override DateTime ReadAsPropertyNameCore(
ref Utf8JsonReader reader,
Type typeToConvert,
JsonSerializerOptions options)
{
return reader.
GetDateTimeNoValidation();
}
internal override void WriteAsPropertyNameCore(
Utf8JsonWriter writer,
DateTime value,
JsonSerializerOptions options,
bool isWritingExtensionDataProperty)
{
writer.
WritePropertyName(
value);
}
internal override JsonSchema GetSchema(
JsonNumberHandling _)
{
return new JsonSchema {
Type =
JsonSchemaType.
String,
Format =
"date-time"
};
}
}
}