using System.Text.Json.Serialization;
using System.Collections.Generic;
public static void Main()
""2022-05-24T01:53:32.600Z""
JsonSerializerOptions _jsonOptions = new JsonSerializerOptions();
var ad4pList = JsonSerializer.Deserialize<Ad4p>(json, _jsonOptions);
Console.WriteLine(ad4pList.Sitecode);
Console.WriteLine(ad4pList.Username);
Console.WriteLine(ad4pList.Timestamp);
public class ArrayToSingleConverter : JsonConverter<string>
public override string Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options)
if (reader.TokenType != JsonTokenType.StartArray)
throw new JsonException();
List<string> list = new List<string>();
while (reader.TokenType != JsonTokenType.EndArray)
list.Add(JsonSerializer.Deserialize<string>(ref reader, options));
return list.FirstOrDefault();
public override void Write(Utf8JsonWriter writer, string value, JsonSerializerOptions options)
throw new NotImplementedException();
public class ArrayToSingleConverter<T> : JsonConverter<T>
public override T Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options)
if (reader.TokenType != JsonTokenType.StartArray)
throw new JsonException();
List<T> list = new List<T>();
while (reader.TokenType != JsonTokenType.EndArray)
list.Add(JsonSerializer.Deserialize<T>(ref reader, options));
return list.FirstOrDefault();
public override void Write(Utf8JsonWriter writer, T value, JsonSerializerOptions options)
throw new NotImplementedException();
[JsonPropertyName("site.siteCode")]
[JsonConverter(typeof(ArrayToSingleConverter<string>))]
public string Sitecode { get; set; }
[JsonPropertyName("username")]
[JsonConverter(typeof(ArrayToSingleConverter<string>))]
public string Username { get; set; }
[JsonPropertyName("@timestamp")]
[JsonConverter(typeof(ArrayToSingleConverter<string>))]
public string Timestamp { get; set; }