mirror of
				https://github.com/eledio-devices/thirdparty-ArduinoJson.git
				synced 2025-10-31 16:14:11 +01:00 
			
		
		
		
	Replaced JsonToken operators by meaningful methods
This commit is contained in:
		| @@ -24,14 +24,14 @@ JsonValue JsonArray::operator[](int index) | ||||
|         return JsonValue::null(); | ||||
|  | ||||
|     // skip first token, it's the whole object | ||||
|     JsonToken currentToken = token + 1; | ||||
|     JsonToken runningToken = token.firstChild(); | ||||
|  | ||||
|     // skip all tokens before the specified index | ||||
|     for (int i = 0; i < index; i++) | ||||
|     { | ||||
|         // move forward: current + nested tokens | ||||
|         currentToken += 1 + currentToken.nestedTokenCount(); | ||||
|         runningToken = runningToken.nextSibling(); | ||||
|     } | ||||
|  | ||||
|     return JsonValue(json, currentToken); | ||||
|     return JsonValue(json, runningToken); | ||||
| } | ||||
| @@ -45,12 +45,12 @@ namespace ArduinoJson | ||||
|  | ||||
|             JsonArrayIterator begin() | ||||
|             { | ||||
|                 return JsonArrayIterator(json, token); | ||||
|                 return JsonArrayIterator(json, token.firstChild()); | ||||
|             } | ||||
|  | ||||
|             JsonArrayIterator end() | ||||
|             { | ||||
|                 return JsonArrayIterator(json, token + token.nestedTokenCount()); | ||||
|                 return JsonArrayIterator(json, token.nextSibling()); | ||||
|             } | ||||
|  | ||||
|             DEPRECATED int getLength() | ||||
|   | ||||
| @@ -23,7 +23,7 @@ namespace ArduinoJson | ||||
|             JsonArrayIterator operator++() | ||||
|             { | ||||
|                 JsonArrayIterator prev = *this; | ||||
|                 token += 1; | ||||
|                 token = token.nextSibling(); | ||||
|                 return prev; | ||||
|             } | ||||
|  | ||||
|   | ||||
| @@ -26,7 +26,7 @@ JsonValue JsonHashTable::getValue(const char* desiredKey) | ||||
|         return JsonValue::null(); | ||||
|  | ||||
|     // skip first token, it's the whole object | ||||
|     JsonToken runningToken = token + 1; | ||||
|     JsonToken runningToken = token.firstChild(); | ||||
|  | ||||
|     // scan each keys | ||||
|     for (int i = 0; i < token.size() / 2; i++) | ||||
| @@ -35,7 +35,7 @@ JsonValue JsonHashTable::getValue(const char* desiredKey) | ||||
|         char* key = runningToken.getText(json); | ||||
|  | ||||
|         // move to the 'value' token | ||||
|         runningToken += 1; | ||||
|         runningToken = runningToken.nextSibling(); | ||||
|  | ||||
|         // compare with desired name | ||||
|         if (strcmp(desiredKey, key) == 0) | ||||
| @@ -45,7 +45,7 @@ JsonValue JsonHashTable::getValue(const char* desiredKey) | ||||
|         } | ||||
|  | ||||
|         // skip nested tokens | ||||
|         runningToken += 1 + runningToken.nestedTokenCount(); | ||||
|         runningToken = runningToken.nextSibling(); | ||||
|     } | ||||
|  | ||||
|     // nothing found, return NULL | ||||
|   | ||||
| @@ -27,14 +27,14 @@ namespace ArduinoJson | ||||
|                 return json + token->start; | ||||
|             } | ||||
|  | ||||
|             JsonToken operator+ (int n) | ||||
|             JsonToken firstChild() const | ||||
|             { | ||||
|                 return JsonToken(token + n); | ||||
|                 return JsonToken(token + 1); | ||||
|             } | ||||
|  | ||||
|             void operator+= (int n) | ||||
|             JsonToken nextSibling() const | ||||
|             { | ||||
|                 token += n; | ||||
|                 return JsonToken(token + 1 + nestedTokenCount()); | ||||
|             } | ||||
|  | ||||
|             bool operator!= (const JsonToken& other) | ||||
| @@ -77,10 +77,11 @@ namespace ArduinoJson | ||||
|                 return JsonToken(0); | ||||
|             } | ||||
|  | ||||
|             int nestedTokenCount() const; | ||||
|  | ||||
|         private: | ||||
|             jsmntok_t* token; | ||||
|  | ||||
|             int nestedTokenCount() const; | ||||
|  | ||||
|         }; | ||||
|     } | ||||
| } | ||||
|   | ||||
| @@ -11,13 +11,13 @@ namespace JsonParserTests | ||||
| 	{ | ||||
| 	public: | ||||
| 		 | ||||
| 		TEST_METHOD(SimpleIteraton) | ||||
| 		TEST_METHOD(ThreeIntegers) | ||||
| 		{ | ||||
|             char json [] = "[1,2,3]"; | ||||
|             JsonParser<4> parser; | ||||
|  | ||||
|             JsonArray a = parser.parse(json); | ||||
|  | ||||
|              | ||||
|             long expected = 1; | ||||
|  | ||||
|             for (auto i : a) | ||||
|   | ||||
		Reference in New Issue
	
	Block a user