Exemplo n.º 1
0
        TreeNode Traverse(TreeNodeCollection parent, string key, ListTreeNode <JsonValue> node)
        {
            if (node.IsArray())
            {
                var current = new TreeNode($"{key}({node.GetArrayCount()})");
                parent.Add(current);
                m_nodeMap.Add(current, node);

                int i = 0;
                foreach (var x in node.ArrayItems())
                {
                    Traverse(current.Nodes, (i++).ToString(), x);
                }

                return(current);
            }
            else if (node.IsMap())
            {
                var current = new TreeNode(key);
                parent.Add(current);
                m_nodeMap.Add(current, node);

                foreach (var kv in node.ObjectItems())
                {
                    Traverse(current.Nodes, kv.Key.GetString(), kv.Value);
                }

                return(current);
            }
            else
            {
                var current = new TreeNode($"{key}: {node.ToString()}");
                parent.Add(current);
                m_nodeMap.Add(current, node);

                return(current);
            }
        }