Files
ArduinoJson/JsonParser/JsonArray.h
2014-07-18 15:54:49 +02:00

99 lines
2.1 KiB
C++

/*
* Arduino JSON library
* Benoit Blanchon 2014 - MIT License
*/
#pragma once
#include "JsonValue.h"
#include "JsonArrayIterator.h"
#include "JsonToken.h"
namespace ArduinoJson
{
namespace Parser
{
class JsonHashTable;
class JsonArray
{
public:
JsonArray()
: token(0)
{
}
JsonArray(char* json, Internal::JsonToken token)
: json(json), token(token)
{
}
bool success()
{
return token.isArray();
}
int size()
{
return success() ? token.size() : 0;
}
JsonValue operator[](int index);
JsonArrayIterator begin()
{
return JsonArrayIterator(json, token.firstChild());
}
JsonArrayIterator end()
{
return JsonArrayIterator(json, token.nextSibling());
}
DEPRECATED int getLength()
{
return size();
}
DEPRECATED JsonArray getArray(int index)
{
return (JsonArray) (*this)[index];
}
DEPRECATED bool getBool(int index)
{
return (bool) (*this)[index];
}
DEPRECATED double getDouble(int index)
{
return (double) (*this)[index];
}
DEPRECATED JsonHashTable getHashTable(int index);
DEPRECATED long getLong(int index)
{
return (long) (*this)[index];
}
DEPRECATED char* getString(int index)
{
return (char*) (*this)[index];
}
static JsonArray null()
{
return JsonArray();
}
private:
char* json;
Internal::JsonToken token;
};
}
}