2014-07-03 13:58:08 +02:00
|
|
|
/*
|
|
|
|
* Arduino JSON library
|
|
|
|
* Benoit Blanchon 2014 - MIT License
|
|
|
|
*/
|
2014-01-11 15:05:35 +01:00
|
|
|
|
2014-07-03 13:58:08 +02:00
|
|
|
#pragma once
|
2014-01-11 15:05:35 +01:00
|
|
|
|
2014-06-24 12:53:22 +02:00
|
|
|
#include "jsmn.h"
|
2014-01-11 15:05:35 +01:00
|
|
|
|
2014-07-03 14:00:51 +02:00
|
|
|
namespace ArduinoJson
|
2014-01-11 15:05:35 +01:00
|
|
|
{
|
2014-07-03 14:00:51 +02:00
|
|
|
namespace Parser
|
|
|
|
{
|
|
|
|
class JsonObjectBase
|
|
|
|
{
|
|
|
|
public:
|
|
|
|
|
|
|
|
JsonObjectBase()
|
|
|
|
{
|
|
|
|
makeInvalid();
|
|
|
|
}
|
|
|
|
|
|
|
|
bool success()
|
|
|
|
{
|
|
|
|
return json != 0 && tokens != 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
protected:
|
|
|
|
|
|
|
|
JsonObjectBase(char* json, jsmntok_t* tokens)
|
|
|
|
{
|
|
|
|
this->json = json;
|
|
|
|
this->tokens = tokens;
|
|
|
|
}
|
|
|
|
|
|
|
|
void makeInvalid()
|
|
|
|
{
|
|
|
|
json = 0;
|
|
|
|
tokens = 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
static int getNestedTokenCount(jsmntok_t* token);
|
|
|
|
|
|
|
|
bool getBoolFromToken(jsmntok_t* token);
|
|
|
|
double getDoubleFromToken(jsmntok_t* token);
|
|
|
|
long getLongFromToken(jsmntok_t* token);
|
|
|
|
char* getStringFromToken(jsmntok_t* token);
|
|
|
|
|
|
|
|
char* json;
|
|
|
|
jsmntok_t* tokens;
|
|
|
|
};
|
|
|
|
}
|
|
|
|
}
|