using System.Text.Json.Serialization;
public static void Main()
var foo = new AuthEndPointArgs { ResponseType = "code", ClientId = "a:b" };
var json = JsonSerializer.Serialize(foo);
var payload = HttpUtility.UrlEncode(json);
json = HttpUtility.UrlDecode(payload);
var recvd = JsonSerializer.Deserialize<AuthEndPointArgs>(json);
Console.WriteLine(recvd.ResponseType);
Console.WriteLine(recvd.ClientId);
[JsonPropertyName("response_type")]
public string ResponseType { get; set; }
[JsonPropertyName("client_id")]
public string ClientId { get; set; }