Files
ArduinoJson/srcs/Internals/JsonParser.h

44 lines
831 B
C
Raw Normal View History

2014-10-15 14:54:31 +02:00
#include "JsonNode.h"
2014-10-14 21:24:26 +02:00
#pragma once
class JsonNode;
class JsonBuffer;
class JsonParser
{
public:
2014-10-15 23:27:38 +02:00
JsonParser(JsonBuffer* buffer, char* json)
: _buffer(buffer), _ptr(json)
{
2014-10-14 21:24:26 +02:00
2014-10-15 23:27:38 +02:00
}
2014-10-14 21:24:26 +02:00
2014-10-15 23:27:38 +02:00
JsonNode* parseAnything();
2014-10-14 21:48:22 +02:00
2014-10-14 21:24:26 +02:00
private:
2014-10-15 23:27:38 +02:00
JsonBuffer* _buffer;
char* _ptr;
2014-10-14 21:24:26 +02:00
2014-10-15 23:27:38 +02:00
inline bool isArrayStart();
inline bool isArrayStop();
2014-10-15 23:10:52 +02:00
inline bool isBoolean();
2014-10-15 23:27:38 +02:00
inline bool isComma();
inline bool isDouble();
inline bool isEnd();
inline bool isLong();
inline bool isNull();
inline bool isSpace();
2014-10-15 23:39:25 +02:00
inline bool isString();
2014-10-14 21:48:22 +02:00
2014-10-15 23:27:38 +02:00
inline void skipOneChar();
inline void skipSpaces();
2014-10-14 21:48:22 +02:00
inline JsonNode* parseArray();
2014-10-15 23:10:52 +02:00
inline JsonNode* parseBoolean();
2014-10-15 23:27:38 +02:00
inline JsonNode* parseLong();
inline JsonNode* parseNull();
2014-10-15 23:39:25 +02:00
inline JsonNode* parseString();
2014-10-15 14:54:31 +02:00
JsonNode *parseDouble();
2014-10-14 21:24:26 +02:00
};