Added JsonArray::getHashTable()

This commit is contained in:
Benoit Blanchon
2014-01-11 15:11:23 +01:00
parent e924bef409
commit ef8c0ceea8
3 changed files with 17 additions and 15 deletions

View File

@ -5,6 +5,7 @@
*/ */
#include "JsonArray.h" #include "JsonArray.h"
#include "JsonHashTable.h"
jsmntok_t* JsonArray::getToken(int index) jsmntok_t* JsonArray::getToken(int index)
{ {
@ -27,4 +28,10 @@ JsonArray JsonArray::getArray(int index)
{ {
jsmntok_t* token = getToken(index); jsmntok_t* token = getToken(index);
return JsonArray(json, token); return JsonArray(json, token);
}
JsonHashTable JsonArray::getHashTable(int index)
{
jsmntok_t* token = getToken(index);
return JsonHashTable(json, token);
} }

View File

@ -9,6 +9,8 @@
#include "JsonObjectBase.h" #include "JsonObjectBase.h"
class JsonHashTable;
class JsonArray : public JsonObjectBase class JsonArray : public JsonObjectBase
{ {
friend class JsonParserBase; friend class JsonParserBase;
@ -16,25 +18,21 @@ class JsonArray : public JsonObjectBase
public: public:
public: JsonArray() {}
JsonArray() int getLength()
{ {
return tokens != 0 ? tokens[0].size : 0;
} }
JsonArray getArray(int index);
char* getString(int index) char* getString(int index)
{ {
jsmntok_t* token = getToken(index); jsmntok_t* token = getToken(index);
return token != 0 ? json + token->start : 0; return token != 0 ? json + token->start : 0;
} }
int getLength() JsonArray getArray(int index);
{ JsonHashTable getHashTable(int index);
return tokens != 0 ? tokens[0].size : 0;
}
private: private:

View File

@ -13,14 +13,12 @@ class JsonArray;
class JsonHashTable : public JsonObjectBase class JsonHashTable : public JsonObjectBase
{ {
friend class JsonArray;
friend class JsonParserBase; friend class JsonParserBase;
public: public:
JsonHashTable() JsonHashTable() {}
{
}
char* getString(char* key) char* getString(char* key)
{ {
@ -35,7 +33,6 @@ private:
JsonHashTable(char* json, jsmntok_t* tokens) JsonHashTable(char* json, jsmntok_t* tokens)
: JsonObjectBase(json, tokens) : JsonObjectBase(json, tokens)
{ {
} }
jsmntok_t* getToken(char* key); jsmntok_t* getToken(char* key);