CSharp · Console
using System;
using System.Text.Json;
using System.Text.Json.Serialization;
public class Program
{
public static void Main()
{
string s = "\"/Date(1573581177000)/\"";
var deserializeOptions = new JsonSerializerOptions();
deserializeOptions.Converters.Add(new DateTimeConverter());
DateTime dt = JsonSerializer.Deserialize<DateTime>(s, deserializeOptions);
Console.WriteLine(dt);
}
}
public class DateTimeConverter : JsonConverter<DateTime>
{
public override DateTime Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options)
{
var s = reader.GetString();
s=s.Replace("/Date(","");
s=s.Replace(")/","");
long epoch = Convert.ToInt64(s);
DateTimeOffset dateTimeOffset = DateTimeOffset.FromUnixTimeMilliseconds(epoch);
return dateTimeOffset.UtcDateTime;
}
public override void Write(Utf8JsonWriter writer, DateTime value, JsonSerializerOptions options)
{
// Do some conversion here
}
}