using Newtonsoft.Json.Linq;
public static void Main()
var payload = JsonConvert.SerializeObject(state);
Console.WriteLine(payload);
dynamic parsed = JsonConvert.DeserializeObject(payload);
Console.WriteLine("a is null");
if(parsed.a.Value is null)
Console.WriteLine("a is null value");
Console.WriteLine("a quoted is null");
if(parsed["a"].Value is null)
Console.WriteLine("a quoted is null value");
Console.WriteLine("a is Jtoken");
Console.WriteLine("b is null");
if(parsed.b.Value is null)
Console.WriteLine("b is null value");
Console.WriteLine("b quoted is null");
if(parsed["b"].Value is null)
Console.WriteLine("b quoted is null value");
Console.WriteLine("b is Jtoken");
Console.WriteLine("c is null");
Console.WriteLine("c quoted is null");
Console.WriteLine("c is Jtoken");
Console.WriteLine((parsed.a as JToken).Type);
Console.WriteLine((parsed.b as JToken).Type);
Console.WriteLine(parsed.a);
Console.WriteLine(parsed.b);