using Newtonsoft.Json.Linq;
public static void Main()
var x = new {a = 3, b= "a string", c = (string)null, e = new {f = 3}};
var s = JsonConvert.SerializeObject(x);
dynamic o = JsonConvert.DeserializeObject(s);
Console.WriteLine(o.a == null);
Console.WriteLine(o.b == null);
Console.WriteLine(o.c == null);
Console.WriteLine(o.d == null);
Console.WriteLine(o.ContainsKey("a"));
Console.WriteLine(o.ContainsKey("b"));
Console.WriteLine(o.ContainsKey("c"));
Console.WriteLine(o.ContainsKey("d"));
Console.WriteLine(o.e.ContainsKey("f"));
Console.WriteLine(o.e.ContainsKey("g"));