2014-10-14 21:24:26 +02:00
|
|
|
#pragma once
|
|
|
|
|
|
|
|
class JsonNode;
|
|
|
|
class JsonBuffer;
|
|
|
|
|
|
|
|
class JsonParser
|
|
|
|
{
|
|
|
|
public:
|
|
|
|
JsonParser(JsonBuffer* buffer, char* json)
|
|
|
|
: _buffer(buffer), _ptr(json)
|
|
|
|
{
|
|
|
|
|
|
|
|
}
|
|
|
|
|
2014-10-14 21:48:22 +02:00
|
|
|
JsonNode* parseAnything();
|
|
|
|
|
2014-10-14 21:24:26 +02:00
|
|
|
private:
|
|
|
|
JsonBuffer* _buffer;
|
|
|
|
char* _ptr;
|
|
|
|
|
|
|
|
inline bool isEnd();
|
|
|
|
inline bool isArrayStart();
|
|
|
|
inline bool isArrayStop();
|
|
|
|
inline bool isLong();
|
|
|
|
inline bool isSpace();
|
2014-10-14 21:48:22 +02:00
|
|
|
inline bool isComma();
|
|
|
|
|
2014-10-14 21:24:26 +02:00
|
|
|
inline void skipOneChar();
|
|
|
|
inline void skipSpaces();
|
2014-10-14 21:48:22 +02:00
|
|
|
|
|
|
|
inline JsonNode* parseArray();
|
|
|
|
inline JsonNode* parseLong();
|
2014-10-14 21:24:26 +02:00
|
|
|
};
|