Exemplo n.º 1
0
        private JsonToken ParseNextMember()
        {
            switch (NextClean())
            {
            case ';':
            case ',':
            {
                if (NextClean() == '}')
                {
                    return(Yield(JsonToken.EndObject()));
                }
                break;
            }

            case '}':
                return(Yield(JsonToken.EndObject()));

            default:
                throw SyntaxError("Expected a ',' or '}'.");
            }

            _reader.Back();
            string name = Parse().Text;

            return(Yield(JsonToken.Member(name), ParseObjectMemberValueMethod));
        }
Exemplo n.º 2
0
        public void ToObject()
        {
            JsonBuffer obj = NamedJsonBuffer.ToObject(
                new NamedJsonBuffer("foo", JsonBuffer.From("bar")),
                new NamedJsonBuffer("qux", JsonBuffer.From("quux")));

            Assert.AreEqual(6, obj.Length);
            Assert.AreEqual(JsonToken.Object(), obj[0]);
            Assert.AreEqual(JsonToken.Member("foo"), obj[1]);
            Assert.AreEqual(JsonToken.String("bar"), obj[2]);
            Assert.AreEqual(JsonToken.Member("qux"), obj[3]);
            Assert.AreEqual(JsonToken.String("quux"), obj[4]);
            Assert.AreEqual(JsonToken.EndObject(), obj[5]);
        }
Exemplo n.º 3
0
 public void JsonTokenString()
 {
     Assert.AreEqual("String:hello", JsonToken.String("hello").ToString());
     Assert.AreEqual("Number:123", JsonToken.Number("123").ToString());
     Assert.AreEqual("Boolean:true", JsonToken.Boolean(true).ToString());
     Assert.AreEqual("Boolean:false", JsonToken.Boolean(false).ToString());
     Assert.AreEqual("Null:null", JsonToken.Null().ToString());
     Assert.AreEqual("Array", JsonToken.Array().ToString());
     Assert.AreEqual("EndArray", JsonToken.EndArray().ToString());
     Assert.AreEqual("Object", JsonToken.Object().ToString());
     Assert.AreEqual("EndObject", JsonToken.EndObject().ToString());
     Assert.AreEqual("Member:test", JsonToken.Member("test").ToString());
     Assert.AreEqual("BOF", JsonToken.BOF().ToString());
     Assert.AreEqual("EOF", JsonToken.EOF().ToString());
 }
        private JsonToken ParseObjectMember()
        {
            switch (NextClean())
            {
            case '}':
                return(Yield(JsonToken.EndObject()));

            case '\0':
                throw new JsonException("An object must end with '}'.");

            default:
            {
                _reader.Back();
                string text = Parse().Text;
                return(Yield(JsonToken.Member(text), ParseObjectMemberValueMethod));
            }
            }
        }
Exemplo n.º 5
0
        /// <summary>
        /// Parses the first member name of the object or the end of the array
        /// in case of an empty object.
        /// </summary>

        private JsonToken ParseObjectMember()
        {
            char ch = NextClean();

            if (ch == '}')
            {
                return(Yield(JsonToken.EndObject()));
            }

            if (ch == BufferedCharReader.EOF)
            {
                throw SyntaxError("An object must end with '}'.");
            }

            _reader.Back();
            string name = Parse().Text;

            return(Yield(JsonToken.Member(name), ParseObjectMemberValueMethod));
        }
        private JsonToken ParseNextMember()
        {
            switch (NextClean())
            {
            case ',':
            case ';':
            {
                if (NextClean() == '}')
                {
                    return(Yield(JsonToken.EndObject()));
                }
                _reader.Back();
                string text = Parse().Text;
                return(Yield(JsonToken.Member(text), ParseObjectMemberValueMethod));
            }

            case '}':
                return(Yield(JsonToken.EndObject()));

            default:
                throw new JsonException("Expected a ',' or '}'.");
            }
        }
Exemplo n.º 7
0
 protected override void WriteEndObjectImpl()
 {
     Write(JsonToken.EndObject());
 }
Exemplo n.º 8
0
 public void ObjectTokens()
 {
     Assert.AreEqual(JsonTokenClass.Object, JsonToken.Object().Class);
     Assert.AreEqual(JsonTokenClass.EndObject, JsonToken.EndObject().Class);
 }
Exemplo n.º 9
0
 public MockedJsonReader EndObject()
 {
     return(Append(JsonToken.EndObject()));
 }