jsonParserFromString() public static méthode

public static jsonParserFromString ( string input ) : JsonParser
input string
Résultat DynamicJson.JsonParser
        public void ThatArraysCanHaveArrays()
        {
            var parser = Utilities.jsonParserFromString("[123,[],[654,888],345]");
            var tree   = parser.array().Tree;

            var stream = new CommonTreeNodeStream(tree);
            var walker = new JsonTree(stream);
            var root   = walker.array();

            Assert.AreEqual(4, root.Length);
            Assert.AreEqual(123d, root[0]);
            Assert.AreEqual(345d, root[3]);

            var a1 = root[1];
            var a2 = root[2];

            Assert.AreEqual(typeof(object[]), a1.GetType());
            Assert.AreEqual(typeof(object[]), a2.GetType());

            Assert.AreEqual(0, ((object[])a1).Length);
            Assert.AreEqual(2, ((object[])a2).Length);

            var o2 = (object[])a2;

            Assert.AreEqual(654d, o2[0]);
            Assert.AreEqual(888d, o2[1]);
        }
        public void ThatStringsParse()
        {
            var parser = Utilities.jsonParserFromString("\"1\\\"23\"");
            var tree   = parser.value().Tree;
            var t      = (new DynamicJson.JsonTree(new CommonTreeNodeStream(tree))).@string();

            Assert.AreEqual("1\"23", t);
        }
        public void ThatEmptyObjectParses()
        {
            var parser = Utilities.jsonParserFromString("{}");
            var tree   = parser.@object().Tree;

            var stream = new CommonTreeNodeStream(tree);
            var walker = new JsonTree(stream);
            var root   = walker.@object();

            Assert.AreEqual(typeof(KeyValuePair <string, object>[]), root.GetType());
            Assert.AreEqual(0, root.Length);
        }
        public void ThatArraysCanBeEmpty()
        {
            var str    = "[]";
            var parser = Utilities.jsonParserFromString(str);
            var tree   = parser.array().Tree;

            var stream = new CommonTreeNodeStream(tree);
            var walker = new JsonTree(stream);
            var root   = walker.array();

            Assert.AreEqual(0, root.Length);
        }
        public void ThatArraysHasNumbers()
        {
            var parser = Utilities.jsonParserFromString("[123,234,345]");
            var tree   = parser.array().Tree;

            var stream = new CommonTreeNodeStream(tree);
            var walker = new JsonTree(stream);
            var root   = walker.array();

            Assert.AreEqual(123d, root[0]);
            Assert.AreEqual(234d, root[1]);
            Assert.AreEqual(345d, root[2]);
        }
Exemple #6
0
        public void ThatSingleAssignmentWorks()
        {
            var parser = Utilities.jsonParserFromString("\"key\":[1,2,3]");
            var tree   = parser.pair().Tree;

            var stream = new CommonTreeNodeStream(tree);
            var walker = new JsonTree(stream);
            var root   = walker.kvp();

            Assert.AreEqual("key", root.Key);
            Assert.AreEqual(typeof(object[]), root.Value.GetType());
            Assert.AreEqual(2d, ((object[])root.Value)[1]);
        }
        public void ThatArraysCanHaveStrings()
        {
            var str    = "[\"oeu\",\"uu\"]";
            var parser = Utilities.jsonParserFromString(str);
            var tree   = parser.array().Tree;

            var stream = new CommonTreeNodeStream(tree);
            var walker = new JsonTree(stream);
            var root   = walker.array();

            Assert.AreEqual(2, root.Length);
            Assert.AreEqual("oeu", root[0]);
            Assert.AreEqual("uu", root[1]);
        }
        public void ObjectWithSimplePair()
        {
            var parser = Utilities.jsonParserFromString("{\"testKey\":123.123}");
            var tree   = parser.@object().Tree;

            var stream = new CommonTreeNodeStream(tree);
            var walker = new JsonTree(stream);
            var root   = walker.@object();


            Assert.AreEqual(typeof(KeyValuePair <string, object>[]), root.GetType());
            Assert.AreEqual(1, root.Length);
            Assert.AreEqual("testKey", root[0].Key);
            Assert.AreEqual(123.123, root[0].Value);
        }
        public void ThatWhiteSpaceIsIgnored()
        {
            var parser = Utilities.jsonParserFromString("   \n{\"testKey\"\n:[123],\t   \"key2\"  :   {}\n\n\n}   ");
            var tree   = parser.toplevel().Tree;

            var stream = new CommonTreeNodeStream(tree);
            var walker = new JsonTree(stream);
            var root   = walker.@object();

            Assert.AreEqual(typeof(KeyValuePair <string, object>[]), root.GetType());
            Assert.AreEqual(2, root.Length);
            Assert.AreEqual("testKey", root[0].Key);
            Assert.IsTrue(new object[] { 123d }.All(o => (root[0].Value as object[]).Contains(o)));
            Assert.AreEqual("key2", root[1].Key);
            Assert.AreEqual(typeof(KeyValuePair <string, object>[]), root[1].Value.GetType());
            Assert.AreEqual(0, (root[1].Value as KeyValuePair <string, object>[]).Length);
        }
        public void ThatArraysCanHaveBooleansAndNull()
        {
            var parser = Utilities.jsonParserFromString("[true,true,false,true,false,null]");
            var tree   = parser.array().Tree;

            var stream = new CommonTreeNodeStream(tree);
            var walker = new JsonTree(stream);
            var root   = walker.array();


            Assert.AreEqual(6, root.Length);
            Assert.IsTrue((bool)root[0]);
            Assert.IsTrue((bool)root[1]);
            Assert.IsTrue((bool)root[3]);
            Assert.IsFalse((bool)root[2]);
            Assert.IsFalse((bool)root[4]);
            Assert.IsNull(root[5]);
        }
        public void ObjectWithObjectAndArrayValues()
        {
            //var parser = Utilities.jsonParserFromString("{\"testKey\":[123],\"key2\":{},\"key3\":{\"key4\":234}}");
            var parser = Utilities.jsonParserFromString("{\"testKey\":[123],\"key2\":{}}");
            var tree   = parser.toplevel().Tree;

            var stream = new CommonTreeNodeStream(tree);
            var walker = new JsonTree(stream);
            var root   = walker.@object();


            Assert.AreEqual(typeof(KeyValuePair <string, object>[]), root.GetType());
            Assert.AreEqual(2, root.Length);
            Assert.AreEqual("testKey", root[0].Key);
            Assert.IsTrue(new object[] { 123d }.All(o => (root[0].Value as object[]).Contains(o)));
            Assert.AreEqual("key2", root[1].Key);
            Assert.AreEqual(typeof(KeyValuePair <string, object>[]), root[1].Value.GetType());
            Assert.AreEqual(0, (root[1].Value as KeyValuePair <string, object>[]).Length);
        }
Exemple #12
0
        public void ThatKvpFailOnNonStringKeys()
        {
            Action <object> tryToCreateKvp = k =>
            {
                bool caught = false;

                try
                {
                    var parser = Utilities.jsonParserFromString(k.ToString() + ":[1,2,3]");
                    var tree   = parser.pair().Tree;
                }
                catch (JsonException)
                {
                    caught = true;
                }
                Assert.IsTrue(caught);
            };

            tryToCreateKvp(123);
            tryToCreateKvp(123d);
            tryToCreateKvp(new object[] { 1, 3 });
        }