mirror of
				https://github.com/eledio-devices/thirdparty-ArduinoJson.git
				synced 2025-10-31 08:42:39 +01:00 
			
		
		
		
	Added JsonArray::getBool() and JsonHashTable::getBool()
This commit is contained in:
		| @@ -41,6 +41,11 @@ JsonArray JsonArray::getArray(int index) | ||||
| 	return JsonArray(json, getToken(index)); | ||||
| } | ||||
|  | ||||
| bool JsonArray::getBool(int index) | ||||
| { | ||||
| 	return getBoolFromToken(getToken(index)); | ||||
| } | ||||
|  | ||||
| double JsonArray::getDouble(int index) | ||||
| { | ||||
| 	return getDoubleFromToken(getToken(index)); | ||||
|   | ||||
| @@ -27,6 +27,7 @@ public: | ||||
| 	} | ||||
|  | ||||
| 	JsonArray getArray(int index); | ||||
| 	bool getBool(int index); | ||||
| 	double getDouble(int index); | ||||
| 	JsonHashTable getHashTable(int index); | ||||
| 	long getLong(int index); | ||||
|   | ||||
| @@ -53,6 +53,11 @@ JsonArray JsonHashTable::getArray(char* key) | ||||
| 	return JsonArray(json, getToken(key)); | ||||
| } | ||||
|  | ||||
| bool JsonHashTable::getBool(char* key) | ||||
| { | ||||
| 	return getBoolFromToken(getToken(key)); | ||||
| } | ||||
|  | ||||
| double JsonHashTable::getDouble(char* key) | ||||
| { | ||||
| 	return getDoubleFromToken(getToken(key)); | ||||
|   | ||||
| @@ -22,6 +22,7 @@ public: | ||||
| 	JsonHashTable() {} | ||||
|  | ||||
| 	JsonArray getArray(char* key); | ||||
| 	bool getBool(char* key); | ||||
| 	double getDouble(char* key); | ||||
| 	JsonHashTable getHashTable(char* key); | ||||
| 	long getLong(char* key); | ||||
|   | ||||
| @@ -20,6 +20,23 @@ int JsonObjectBase::getNestedTokenCount(jsmntok_t* token) | ||||
| 	return count; | ||||
| } | ||||
|  | ||||
| bool JsonObjectBase::getBoolFromToken(jsmntok_t* token) | ||||
| { | ||||
| 	if (token->type != JSMN_PRIMITIVE) return 0; | ||||
|  | ||||
| 	// "true" | ||||
| 	if (json[token->start] == 't') return true; | ||||
|  | ||||
| 	// "false" | ||||
| 	if (json[token->start] == 'f') return false; | ||||
|  | ||||
| 	// "null" | ||||
| 	if (json[token->start] == 'n') return false; | ||||
| 	 | ||||
| 	// number | ||||
| 	return strtol(json + token->start, 0, 0) != 0; | ||||
| } | ||||
|  | ||||
| double JsonObjectBase::getDoubleFromToken(jsmntok_t* token) | ||||
| { | ||||
| 	if (token->type != JSMN_PRIMITIVE) return 0; | ||||
|   | ||||
| @@ -39,6 +39,7 @@ protected: | ||||
| 	 | ||||
| 	static int getNestedTokenCount(jsmntok_t* token); | ||||
|  | ||||
| 	bool getBoolFromToken(jsmntok_t* token); | ||||
| 	double getDoubleFromToken(jsmntok_t* token); | ||||
| 	long getLongFromToken(jsmntok_t* token); | ||||
| 	char* getStringFromToken(jsmntok_t* token); | ||||
|   | ||||
		Reference in New Issue
	
	Block a user