예제 #1
0
        private void listView1_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            JsonColumn test      = (JsonColumn)this.listView1.SelectedItem;
            GridView   gridView2 = new GridView();

            this.listView2.View = gridView2;

            masterPath   = masterPath + "\"[" + test.Property + "\"]";
            textBox.Text = "";
            textBox.Text = masterPath;
            if (test.Property == "otherlist")
            {
                gridView2.Columns.Add(new GridViewColumn
                {
                    Header = "Property",
                    DisplayMemberBinding = new Binding("Property")
                });

                gridView2.Columns.Add(new GridViewColumn
                {
                    Header = "Value",
                    DisplayMemberBinding = new Binding("Value")
                });
                this.listView2.Items.Add((new JsonColumn {
                    Property = "[0]", Value = "red"
                }));
                this.listView2.Items.Add((new JsonColumn {
                    Property = "[1]", Value = "yellow"
                }));
            }
        }
예제 #2
0
        private void listView_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            JsonColumn test = (JsonColumn)this.listView.SelectedItem;

            Console.WriteLine(test.Property);
            GridView gridView = new GridView();

            this.listView1.View = gridView;
            //gridView = (GridView) this.listView1.View;
            masterPath = "";

            masterPath   = masterPath + "\"[" + test.Property + "\"]";
            textBox.Text = "";
            textBox.Text = masterPath;
            if (test.Property == "other")
            {
                gridView.Columns.Add(new GridViewColumn
                {
                    Header = "Property",
                    DisplayMemberBinding = new Binding("Property")
                });

                gridView.Columns.Add(new GridViewColumn
                {
                    Header = "Value",
                    DisplayMemberBinding = new Binding("Value")
                });
                this.listView1.Items.Add((new JsonColumn {
                    Property = "weather", Value = "bad"
                }));
                this.listView1.Items.Add((new JsonColumn {
                    Property = "otherlist", Value = "Array"
                }));
            }

            else
            {
                JsonTreeObject j = masterTree.findJsonTreeObject(test.Property);
                if (j.isArray)
                {
                    foreach (String v in j.values)
                    {
                        this.listView1.Items.Add((new JsonColumn {
                            Property = j.property, Value = v
                        }));
                    }
                }
                else
                {
                    this.listView1.Items.Add((new JsonColumn {
                        Property = j.property, Value = j.values[0]
                    }));
                }
            }



            depthTracker++;
        }
예제 #3
0
        private void listView2_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            JsonColumn test = (JsonColumn)this.listView2.SelectedItem;

            masterPath   = masterPath + "\"[" + test.Value + "\"]";
            textBox.Text = "";
            textBox.Text = masterPath;
        }
예제 #4
0
        private void editToolStripMenuItem_Click(object sender, EventArgs e)
        {
            int            i      = 0;
            string         text   = System.IO.File.ReadAllText("test.json");
            JsonTextReader reader = new JsonTextReader(new StringReader(text));
            JsonColumn     test   = new JsonColumn {
                Property = "", Value = ""
            };

            JsonTreeWrapper masterTree = new JsonTreeWrapper();
            String          jProp = "", jVal = "";
            List <String>   jValList  = new List <String>();
            bool            arrayFlag = false;

            //Parse JSON
            while (reader.Read())
            {
                //If a property type save value
                if (reader.TokenType.ToString() == "PropertyName")
                {
                    //test.Property = reader.Value.ToString();
                    jProp = reader.Value.ToString();
                }
                //if a string value, set it and add to master tree
                else if (reader.TokenType.ToString() == "String" || reader.TokenType.ToString() == "Integer")
                {
                    if (!arrayFlag)
                    {
                        //test.Value = reader.Value.ToString();
                        jVal = reader.Value.ToString();
                        masterTree.addObject(new JsonTreeObject(jProp, jVal));
                        jProp = "";
                        jVal  = "";
                    }
                    else
                    {
                        jValList.Add(reader.Value.ToString());
                    }
                }
                else if (reader.TokenType.ToString() == "StartArray")
                {
                    arrayFlag = true;
                }
                else if (reader.TokenType.ToString() == "EndArray")
                {
                    masterTree.addObject(new JsonTreeObject(jProp, jValList));
                    arrayFlag = false;
                    jValList.Clear();
                }
            }

            masterTree.printTree();
        }
예제 #5
0
        private void MenuItem_Click(object sender, RoutedEventArgs e)
        {
            var gridView = new GridView();

            this.listView.View = gridView;
            int i = 0;

            OpenFileDialog openFileDialog1 = new OpenFileDialog();

            //openFileDialog1.InitialDirectory = "c:\\";
            openFileDialog1.ShowDialog();

            string selectedFileName = openFileDialog1.FileName;



            string         text   = System.IO.File.ReadAllText(selectedFileName);
            JsonTextReader reader = new JsonTextReader(new StringReader(text));
            JsonColumn     test   = new JsonColumn {
                Property = "", Value = ""
            };


            String        jProp = "", jVal = "";
            List <String> jValList   = new List <String>();
            bool          arrayFlag  = false;
            bool          ignoreflag = false;

            //Parse JSON
            while (reader.Read())
            {
                if (i != 0 && reader.TokenType.ToString() == "StartObject")
                {
                    ignoreflag = true;
                }
                if (reader.TokenType.ToString() == "EndObject")
                {
                    ignoreflag = false;
                }
                if (ignoreflag == false)
                {
                    //If a property type save value
                    if (reader.TokenType.ToString() == "PropertyName")
                    {
                        //test.Property = reader.Value.ToString();
                        jProp = reader.Value.ToString();
                    }
                    //if a string value, set it and add to master tree
                    else if (reader.TokenType.ToString() == "String" || reader.TokenType.ToString() == "Integer")
                    {
                        if (!arrayFlag)
                        {
                            //test.Value = reader.Value.ToString();
                            jVal = reader.Value.ToString();
                            masterTree.addObject(new JsonTreeObject(jProp, jVal));
                            jProp = "";
                            jVal  = "";
                        }
                        else
                        {
                            jValList.Add(reader.Value.ToString());
                        }
                    }
                    else if (reader.TokenType.ToString() == "StartArray")
                    {
                        arrayFlag = true;
                    }
                    else if (reader.TokenType.ToString() == "EndArray")
                    {
                        masterTree.addObject(new JsonTreeObject(jProp, jValList));
                        arrayFlag = false;
                        jValList.Clear();
                    }
                }

                i++;
            }

            masterTree.printTree();



            gridView.Columns.Add(new GridViewColumn
            {
                Header = "Property",
                DisplayMemberBinding = new Binding("Property")
            });

            gridView.Columns.Add(new GridViewColumn
            {
                Header = "Value",
                DisplayMemberBinding = new Binding("Value")
            });


            foreach (JsonTreeObject j in masterTree.data)
            {
                if (j.isArray)
                {
                    this.listView.Items.Add((new JsonColumn {
                        Property = j.property, Value = "Array"
                    }));
                }
                else
                {
                    this.listView.Items.Add((new JsonColumn {
                        Property = j.property, Value = j.values[0]
                    }));
                }
            }
            this.listView.Items.Add((new JsonColumn {
                Property = "other", Value = "Object"
            }));
        }