1 private static dynamic getsorobject (object obj) 2 { 3 if (obj is jarray) 4 { 5 var list = new list<dynamic> (); 6 foreach (var item in (obj as jarray)) 7 { 8 list.add (getsorobject (item)); 9 } 10 return list; 11 } 12 else 13 { 14 var paramdic = jsonconvert.deserializeobject<dictionary<string, dynamic>> (jsonconvert.serializeobject (obj)); 15 var sorteddic = new sorteddictionary<string, dynamic> (); 16 for (int i = 0; i < paramdic.count; i++) 17 { 18 if (paramdic.elementat (i).value is jarray || paramdic.elementat (i).value is jobject) 19 { 20 sorteddic.add (paramdic.elementat (i).key, getsorobject (paramdic.elementat (i).value)); 21 } 22 else 23 { 24 sorteddic.add (paramdic.elementat (i).key, paramdic.elementat (i).value); 25 } 26 } 27 return sorteddic; 28 } 29 }