private void BindJSONCallback(JSONNode n, List <JsonT> list, int depth = 0) { string intend = ""; for (int i = 0; i < depth; ++i) { intend += " "; } string[] keys = n.GetAllKeys(); if (keys == null) { return; } foreach (string s in keys) { JsonT node = new JsonT { key = intend + s, value = ((n[s] is JSONObject) ? "object" : (n[s] is JSONArray ? "array" : n[s].value)), type = Parser.State.JSONTypeFunc.GetTypeString(n[s].type) }; list.Add(node); BindJSONCallback(n[s], list, depth + 1); } }