コード例 #1
0
 private JsonToken ParseArray()
 {
     if (NextClean() != '[')
     {
         throw new JsonException("An array must start with '['.");
     }
     return(Yield(JsonToken.Array(), ParseArrayFirstMethod));
 }
コード例 #2
0
        /// <summary>
        /// Parses expecting an array in the source.
        /// </summary>

        private JsonToken ParseArray()
        {
            if (NextClean() != '[')
            {
                throw SyntaxError("An array must start with '['.");
            }

            return(Yield(JsonToken.Array(), ParseArrayFirstMethod));
        }
コード例 #3
0
        public void BufferValueOnBOF()
        {
            var writer = new JsonBufferWriter();

            writer.WriteFromReader(JsonText.CreateReader("[]"));
            var buffer = writer.GetBuffer().CreateReader().BufferValue();

            Assert.AreEqual(2, buffer.Length);
            Assert.AreEqual(JsonToken.Array(), buffer[0]);
            Assert.AreEqual(JsonToken.EndArray(), buffer[1]);
        }
コード例 #4
0
ファイル: JsonBuffer.cs プロジェクト: scslmd/NppToolBucket
        static JsonBuffer()
        {
            JsonBuffer buffer = new JsonBufferStorage(5) // [null,true,false]
                                .Write(JsonToken.Array())
                                .Write(JsonToken.Null(), JsonToken.True(), JsonToken.False())
                                .Write(JsonToken.EndArray())
                                .ToBuffer();

            _null  = buffer.Slice(1, 2);
            _true  = buffer.Slice(2, 3);
            _false = buffer.Slice(3, 4);
        }
コード例 #5
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());
 }
コード例 #6
0
        protected override JsonToken ReadTokenImpl()
        {
            if (_buffer.IsStructured)
            {
                Debug.Assert(!EOF); // sanity check
                if (++_index < _buffer.Length)
                {
                    return(_buffer[_index]);
                }
            }
            else
            {
                switch (++_index)
                {
                case 0: return(JsonToken.Array());

                case 1: return(_buffer[0]);

                case 2: return(JsonToken.EndArray());
                }
            }

            return(JsonToken.EOF());
        }
コード例 #7
0
 protected override void WriteStartArrayImpl()
 {
     Write(JsonToken.Array());
 }
コード例 #8
0
 public void ArrayTokens()
 {
     Assert.AreEqual(JsonTokenClass.Array, JsonToken.Array().Class);
     Assert.AreEqual(JsonTokenClass.EndArray, JsonToken.EndArray().Class);
 }
コード例 #9
0
 public MockedJsonReader Array()
 {
     return(Append(JsonToken.Array()));
 }