Beispiel #1
0
        public override bool Read()
        {
            LBTOK l = (LBTOK)_r.ReadByte();

            switch (l)
            {
            case LBTOK.StartArray: _t = JsonToken.StartArray; _v = null; break;

            case LBTOK.EndArray: _t = JsonToken.EndArray; _v = null; break;

            case LBTOK.StartObject: _t = JsonToken.StartObject; _v = null; break;

            case LBTOK.EndObject: _t = JsonToken.EndObject; _v = null; break;

            case LBTOK.Null: _t = JsonToken.Null; _v = null; break;

            case LBTOK.False: _t = JsonToken.Boolean; _v = false; break;

            case LBTOK.True: _t = JsonToken.Boolean; _v = true; break;

            case LBTOK.Property: _t = JsonToken.PropertyName; _v = _r.ReadString(); break;

            case LBTOK.Undefined: _t = JsonToken.Undefined; _v = null; break;

            case LBTOK.S8: _t = JsonToken.Integer; _v = _r.ReadSByte(); break;

            case LBTOK.U8: _t = JsonToken.Integer; _v = _r.ReadByte(); break;

            case LBTOK.S16: _t = JsonToken.Integer; _v = _r.ReadInt16(); break;

            case LBTOK.U16: _t = JsonToken.Integer; _v = _r.ReadUInt16(); break;

            case LBTOK.S32: _t = JsonToken.Integer; _v = _r.ReadInt32(); break;

            case LBTOK.U32: _t = JsonToken.Integer; _v = _r.ReadUInt32(); break;

            case LBTOK.S64: _t = JsonToken.Integer; _v = _r.ReadInt64(); break;

            case LBTOK.U64: _t = JsonToken.Integer; _v = _r.ReadUInt64(); break;

            case LBTOK.String: _t = JsonToken.String; _v = _r.ReadString(); break;

            case LBTOK.F32: _t = JsonToken.Float; _v = _r.ReadSingle(); break;

            case LBTOK.F64: _t = JsonToken.Float; _v = _r.ReadDouble(); break;

            case LBTOK.ByteArray: _t = JsonToken.Bytes; _v = _r.ReadBytes(_r.ReadInt32()); break;

            default:
                throw new InvalidOperationException();
            }

            return(true);
        }
Beispiel #2
0
 private void WT(LBTOK t)
 {
     w.Write((byte)t);
 }
Beispiel #3
0
		private void WT(LBTOK t)
		{
			w.Write((byte)t);
		}