using System.Collections;
using System.Collections.Generic;
using System.Runtime.Serialization.Formatters;
using System.ComponentModel.DataAnnotations;
using System.Globalization;
using System.Collections.ObjectModel;
using System.Text.Json.Serialization;
[JsonPropertyName("date")]
public DateTime? ReportDate { get; init; }
public static void Test()
ReportDate = new DateTime(2022, 2, 2, 2, 2, 2, DateTimeKind.Utc),
var json = JsonSerializer.Serialize(report1);
var report2 = JsonSerializer.Deserialize<Report>(json);
Assert.AreEqual(report1.ReportDate, report2.ReportDate);
public static void Main()
Console.WriteLine("Environment version: {0} ({1})", System.Runtime.InteropServices.RuntimeInformation.FrameworkDescription , Environment.Version);
Console.WriteLine("System.Text.Json version: " + typeof(JsonSerializer).Assembly.FullName);
Console.WriteLine("Failed with unhandled exception: ");