Преглед изворни кода

Added JsonArray::getHashTable()

Benoit Blanchon пре 12 година
родитељ
комит
ef8c0ceea8
3 измењених фајлова са 17 додато и 15 уклоњено
  1. 7 0
      JsonArray.cpp
  2. 8 10
      JsonArray.h
  3. 2 5
      JsonHashTable.h

+ 7 - 0
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);
 }

+ 8 - 10
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:
 

+ 2 - 5
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);