using Newtonsoft.Json.Linq;
using System.Collections.Generic;
using System.Diagnostics;
public static void Main()
CustomJSONConvertor widget=new CustomJSONConvertor();
public class CustomJSONConvertor
public CustomJSONConvertor()
'dn': 'UserDashboardName',
jObject = JObject.Parse(json);
var sw3 = Stopwatch.StartNew();
jObject.ToObject<CustomJSONConvertor>();
Console.WriteLine("Standard Deserialize: " + sw3.ElapsedMilliseconds);
var sw3 = Stopwatch.StartNew();
'dn': 'UserDashboardName',
dn = (string)jObject["dn"];
dc = (string)jObject["dc"];
dci = (int)jObject["dci"];
dig = (bool)jObject["dig"];
did = (bool)jObject["did"];
JArray juser = (JArray)jObject["dws"];
dws = juser.Select(a => new Widget {
Console.WriteLine("Standard Deserialize customn way: " + sw3.ElapsedMilliseconds);
public int di { get; set; }
public string dn { get; set; }
public string dc { get; set; }
public int dci { get; set; }
public bool dig { get; set; }
public bool did { get; set; }
public List<Widget> dws{get;set;}
public int wid { get; set; }
public int wt { get; set; }
public int wxp { get; set; }
public int wyp { get; set; }
public int width { get; set; }