From ef8c0ceea8db40a740600e51be633353feb84e5f Mon Sep 17 00:00:00 2001 From: Benoit Blanchon Date: Sat, 11 Jan 2014 15:11:23 +0100 Subject: [PATCH] Added JsonArray::getHashTable() --- JsonArray.cpp | 7 +++++++ JsonArray.h | 18 ++++++++---------- JsonHashTable.h | 7 ++----- 3 files changed, 17 insertions(+), 15 deletions(-) diff --git a/JsonArray.cpp b/JsonArray.cpp index fe9d40b6..422538bc 100644 --- a/JsonArray.cpp +++ b/JsonArray.cpp @@ -5,6 +5,7 @@ */ #include "JsonArray.h" +#include "JsonHashTable.h" jsmntok_t* JsonArray::getToken(int index) { @@ -27,4 +28,10 @@ JsonArray JsonArray::getArray(int index) { jsmntok_t* token = getToken(index); return JsonArray(json, token); +} + +JsonHashTable JsonArray::getHashTable(int index) +{ + jsmntok_t* token = getToken(index); + return JsonHashTable(json, token); } \ No newline at end of file diff --git a/JsonArray.h b/JsonArray.h index b83a0012..3e989269 100644 --- a/JsonArray.h +++ b/JsonArray.h @@ -9,6 +9,8 @@ #include "JsonObjectBase.h" +class JsonHashTable; + class JsonArray : public JsonObjectBase { friend class JsonParserBase; @@ -16,25 +18,21 @@ class JsonArray : public JsonObjectBase public: -public: + JsonArray() {} - JsonArray() + int getLength() { - + return tokens != 0 ? tokens[0].size : 0; } - JsonArray getArray(int index); - char* getString(int index) { jsmntok_t* token = getToken(index); return token != 0 ? json + token->start : 0; } - - int getLength() - { - return tokens != 0 ? tokens[0].size : 0; - } + + JsonArray getArray(int index); + JsonHashTable getHashTable(int index); private: diff --git a/JsonHashTable.h b/JsonHashTable.h index 773714ff..df8b5e9e 100644 --- a/JsonHashTable.h +++ b/JsonHashTable.h @@ -13,14 +13,12 @@ class JsonArray; class JsonHashTable : public JsonObjectBase { + friend class JsonArray; friend class JsonParserBase; public: - JsonHashTable() - { - - } + JsonHashTable() {} char* getString(char* key) { @@ -35,7 +33,6 @@ private: JsonHashTable(char* json, jsmntok_t* tokens) : JsonObjectBase(json, tokens) { - } jsmntok_t* getToken(char* key);