private static List DeserializeJArray()

in Darabonba/Utils/JSONUtils.cs [63:101]


        private static List<object> DeserializeJArray(JArray obj)
        {
            if (obj.Count == 0)
            {
                return new List<object>();
            }

            if (obj[0].Type == JTokenType.Object)
            {
                List<object> dicList = new List<object>();
                List<Dictionary<string, object>> dicObjList = obj.ToObject<List<Dictionary<string, object>>>();
                foreach (Dictionary<string, object> objItem in dicObjList)
                {
                    Dictionary<string, object> objDict = new Dictionary<string, object>();
                    foreach (var keypair in objItem)
                    {
                        objDict.Add(keypair.Key, Deserialize(keypair.Value));
                    }
                    dicList.Add(objDict);
                }
                return dicList;
            }
            else if (obj[0].Type == JTokenType.Array)
            {
                List<object> dicObjList = obj.ToObject<List<object>>();
                List<object> dicList = new List<object>();
                foreach (var item in dicObjList)
                {
                    dicList.Add(Deserialize((JArray) item));
                }

                return dicList;
            }
            else
            {
                List<object> dicObjList = obj.ToObject<List<object>>();
                return dicObjList;
            }
        }