Пример #1
0
 public ArrayStartState(BjSJsonReader reader, Action <BjSJsonArray> onDone)
 {
     _reader           = reader;
     _onDone           = onDone;
     _curr             = new BjSJsonArray();
     _waitForSeperator = false;
 }
Пример #2
0
 public ObjectState(BjSJsonReader reader, Action <BjSJsonObject> onDone)
 {
     _reader      = reader;
     _onDone      = onDone;
     _curr        = new BjSJsonObject();
     _internState = InternalState.WaitForName;
 }
Пример #3
0
            public static List <object> Parse(string data)
            {
                BjSJsonReader reader = new BjSJsonReader();
                StartState    start  = new StartState(reader);

                reader.State = start;

                foreach (char c in data)
                {
                    reader.State.Process(c);
                }

                return(start.Objects);
            }
Пример #4
0
            public static List <object> Parse(StreamReader s)
            {
                BjSJsonReader reader = new BjSJsonReader();
                StartState    start  = new StartState(reader);

                reader.State = start;

                char[] buffer = new char[8192];
                int    len;

                while (!s.EndOfStream)
                {
                    len = s.ReadBlock(buffer, 0, buffer.Length);
                    for (int i = 0; i < len; i++)
                    {
                        reader.State.Process(buffer[i]);
                    }
                }
                return(start.Objects);
            }
Пример #5
0
 public SelectValueState(BjSJsonReader reader, ReaderState previous, Action <object> onDone)
 {
     _reader   = reader;
     _previous = previous;
     _onDone   = onDone;
 }
Пример #6
0
 public StartState(BjSJsonReader reader)
 {
     _reader = reader;
     Objects = new List <object>();
 }