AnonymousVariableArray VariableArrayFromDynamic(dynamic val) { dynamic[] arrayValues = (dynamic[])val; AnonymousVariableArray finalArray = new AnonymousVariableArray(); for (int i = 0; i < arrayValues.Length; i++) { if (arrayValues[i].GetType() == typeof(DynamicJson) && arrayValues[i].IsArray) { AnonymousVariableArray arr = VariableArrayFromDynamic(arrayValues[i]); finalArray.Add(new AnonymousVariable(arr, arr.GetType())); } else { finalArray.Add(new AnonymousVariable(arrayValues[i], arrayValues[i].GetType())); } } return(finalArray); }