c # -Json-Json string field recursive ordering

 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 }

 

Guess you like

Origin www.cnblogs.com/LaughAtSelfsWrong/p/11426882.html