示例#1
0
        void SendServerMessage(StreamWriter sw)
        {
            JsonGenerator jsonGen = new JsonGenerator();

            jsonGen.AddJsonObject("header", header);
            foreach (KeyValuePair <string, string> kp in cont)
            {
                jsonGen.AddJsonObject(kp.Key, kp.Value);
            }
            sw.Write(jsonGen.GenerateJson() + "\n$\n");
            Console.WriteLine("Send: " + jsonGen.GenerateJson());
        }
        public void TestObjectWithoutAttribute()
        {
            var     js      = new JsonGenerator();
            Student student = new Student("Jack", 20);

            Assert.ThrowsException <InvalidJsonObject>(() => { js.GenerateJson(student, student.GetType().Name); });
        }
        public void TestGenerateJsonForPets()
        {
            Pet pet1 = new Pet(1, "Bill", 7.5);
            JsonGenerator <Pet> p2 = new JsonGenerator <Pet>();

            p2.GenerateJson(pet1);
        }
    public override void OnInspectorGUI()
    {
        base.OnInspectorGUI();
        JsonGenerator generator = (JsonGenerator)target;

        var isPressedButton = GUILayout.Button("Generate Json");

        if (isPressedButton)
        {
            generator.GenerateJson();
        }
    }
示例#5
0
    // -------------------------------------------------------------------------------------------

    string GenerateClientRequest(string header, List <KeyValuePair <string, string> > cont)
    {
        JsonGenerator jsonGen = new JsonGenerator();

        jsonGen.AddJsonObject("header", header);
        foreach (KeyValuePair <string, string> kp in cont)
        {
            jsonGen.AddJsonObject(kp.Key, kp.Value);
        }
        string request = jsonGen.GenerateJson();

        return(request);
    }
        public void TestGenerateJsonForPerson()
        {
            Person person1 = new Person(1, "Jack");
            Person person2 = new Person(2, "Jill");
            Person person3 = new Person(3, "Jull");
            Person person4 = new Person(4, "Joll");

            person1.Children.Add(person2);
            person1.Children.Add(person3);
            person2.Children.Add(person4);
            JsonGenerator <Person> p1 = new JsonGenerator <Person>();

            p1.GenerateJson(person1);
        }
        public void TestGenerateJsonForPersonWriteInFile()
        {
            string writePath = @"C:\Users\cherm\Desktop\Json.txt";
            Person person1   = new Person(1, "Jack");
            Person person2   = new Person(2, "Jill");
            Person person3   = new Person(3, "Jull");
            Person person4   = new Person(4, "Joll");

            person1.Children.Add(person2);
            person1.Children.Add(person3);
            person2.Children.Add(person4);
            JsonGenerator <Person> p1 = new JsonGenerator <Person>(writePath);

            p1.GenerateJson(person1);
        }
        public void TestСycleError()
        {
            Person person1 = new Person(1, "Jack");
            Person person2 = new Person(2, "Jill");
            Person person3 = new Person(3, "Jull");
            Person person4 = new Person(4, "Joll");
            Person person5 = new Person(5, "Bill");
            Person person6 = new Person(6, "Joe");

            person1.Children.Add(person2);
            person2.Children.Add(person3);
            person3.Children.Add(person4);
            person4.Children.Add(person5);
            person5.Children.Add(person1);
            JsonGenerator <Person> p1 = new JsonGenerator <Person>();

            Assert.ThrowsException <CycleError>(() => p1.GenerateJson(person1));
        }
        public void TestArrayValue()
        {
            var       js        = new JsonGenerator();
            Sportsman sportsman = new Sportsman("Usain Bolt", 33);

            sportsman.Medals[2] = "gold";
            string[] lines = js.GenerateJson(sportsman, sportsman.GetType().Name).ToString().Split('\n');

            Assert.AreEqual("{", lines[0].Trim());
            Assert.AreEqual("\"Name\" : \"Usain Bolt\",", lines[1].Trim());
            Assert.AreEqual("\"Age\" : 33,", lines[2].Trim());
            Assert.AreEqual("\"Medals\" : [", lines[3].Trim());
            Assert.AreEqual("null,", lines[4].Trim());
            Assert.AreEqual("null,", lines[5].Trim());
            Assert.AreEqual("\"gold\"", lines[6].Trim());
            Assert.AreEqual("]", lines[7].Trim());
            Assert.AreEqual("}", lines[8].Trim());
        }
        public void TestListValue()
        {
            var    js     = new JsonGenerator();
            Writer writer = new Writer("Haruki Murakami", 71);

            writer.Book.Add("1Q84");
            writer.Book.Add(null);
            writer.Book.Add("Norwegian Wood");
            string[] lines = js.GenerateJson(writer, writer.GetType().Name).ToString().Split('\n');

            Assert.AreEqual("{", lines[0].Trim());
            Assert.AreEqual("\"Name\" : \"Haruki Murakami\",", lines[1].Trim());
            Assert.AreEqual("\"Age\" : 71,", lines[2].Trim());
            Assert.AreEqual("\"Book\" : [", lines[3].Trim());
            Assert.AreEqual("\"1Q84\",", lines[4].Trim());
            Assert.AreEqual("null,", lines[5].Trim());
            Assert.AreEqual("\"Norwegian Wood\"", lines[6].Trim());
            Assert.AreEqual("]", lines[7].Trim());
            Assert.AreEqual("}", lines[8].Trim());
        }
示例#11
0
        static void Main()
        {
            string writePath = @"C:\Users\cherm\Desktop\Json.txt";
            Person person1   = new Person(1, "Jack");
            Person person2   = new Person(2, "Jill");
            Person person3   = new Person(3, "Jull");
            Person person4   = new Person(4, "Joll");

            person1.Children.Add(person2);
            person1.Children.Add(person3);
            person2.Children.Add(person4);
            JsonGenerator <Person> p1 = new JsonGenerator <Person>(writePath);

            p1.GenerateJson(person1);
            Console.WriteLine("-----------------------------------------");
            JsonGenerator <Pet> p2 = new JsonGenerator <Pet>();
            Pet pet1 = new Pet(1, "Bill", 7.5);

            p2.GenerateJson(pet1);
            Console.ReadLine();
        }
        public void TestListObjects()
        {
            var    js     = new JsonGenerator();
            Person person = new Person(1, "Jack");

            person.Children.Add(null);
            person.Children.Add(new Person(2, null));
            string[] lines = js.GenerateJson(person, person.GetType().Name).ToString().Split('\n');

            Assert.AreEqual("{", lines[0].Trim());
            Assert.AreEqual("\"Id\" : 1,", lines[1].Trim());
            Assert.AreEqual("\"Name\" : \"Jack\",", lines[2].Trim());
            Assert.AreEqual("\"Children\" : [", lines[3].Trim());
            Assert.AreEqual("null,", lines[4].Trim());
            Assert.AreEqual("{", lines[5].Trim());
            Assert.AreEqual("\"Id\" : 2,", lines[6].Trim());
            Assert.AreEqual("\"Name\" : null,", lines[7].Trim());
            Assert.AreEqual("\"Children\" : []", lines[8].Trim());
            Assert.AreEqual("}", lines[9].Trim());
            Assert.AreEqual("]", lines[10].Trim());
            Assert.AreEqual("}", lines[11].Trim());
        }
        public void TestArrayObject()
        {
            var          js           = new JsonGenerator();
            Person_Array person_Array = new Person_Array(1, "Jack");

            person_Array.AppendCapacity();
            person_Array.Children[0] = null;
            person_Array.AppendCapacity();
            person_Array.Children[1] = new Person_Array(2, "Jill");
            string[] lines = js.GenerateJson(person_Array, person_Array.GetType().Name).ToString().Split('\n');

            Assert.AreEqual("{", lines[0].Trim());
            Assert.AreEqual("\"Id\" : 1,", lines[1].Trim());
            Assert.AreEqual("\"Name\" : \"Jack\",", lines[2].Trim());
            Assert.AreEqual("\"Children\" : [", lines[3].Trim());
            Assert.AreEqual("null,", lines[4].Trim());
            Assert.AreEqual("{", lines[5].Trim());
            Assert.AreEqual("\"Id\" : 2,", lines[6].Trim());
            Assert.AreEqual("\"Name\" : \"Jill\",", lines[7].Trim());
            Assert.AreEqual("\"Children\" : []", lines[8].Trim());
            Assert.AreEqual("}", lines[9].Trim());
            Assert.AreEqual("]", lines[10].Trim());
            Assert.AreEqual("}", lines[11].Trim());
        }
        public void NotJsonObject()
        {
            JsonGenerator <WrongPerson> p1 = new JsonGenerator <WrongPerson>();

            Assert.ThrowsException <NotJsonObject>(() => p1.GenerateJson(new WrongPerson(1, "Jack", 63.5)));
        }
        public void TestSerializeNull()
        {
            var js = new JsonGenerator();

            Assert.ThrowsException <ArgumentNullException>(() => { js.GenerateJson(null, "null"); });
        }