Example #1
0
        private void InitializeData()
        {
            var text = System.IO.File.ReadAllText("D:/temp/transform.json");

            var node = JToken.Parse(text);
            var root = new JsonConfigNode("root", null, JTokenType.Object);

            WalkNode(node, root);
            _rootNode = root;
        }
Example #2
0
        public void WalkNode(JToken node, JsonConfigNode currentNode)
        {
            if (node.Type == JTokenType.Object)
            {
                foreach (var child in node.Children <JToken>())
                {
                    WalkNode(child, currentNode);
                }
            }
            else if (node.Type == JTokenType.Array)
            {
                var i = 0;
                foreach (var child in node.Children())
                {
                    var item = new JsonConfigNode($"[{i}]", null, child.Type);
                    currentNode.Children.Add(item);
                    WalkNode(child, item);
                    i++;
                }
            }
            else if (node.Type == JTokenType.Property)
            {
                var c    = node.Children()[0];
                var prop = new JsonConfigNode(((JProperty)node).Name, null, JTokenType.Object);
                currentNode.Children.Add(prop);
                var list = new List <JToken>();

                foreach (var child in node.Children())
                {
                    WalkNode(child, prop);
                }
            }
            else
            {
                currentNode.Value = (((Newtonsoft.Json.Linq.JValue)node).Value);
            }
        }