mirror of
https://github.com/bblanchon/ArduinoJson.git
synced 2025-07-18 04:52:22 +02:00
Added JsonArray::getDouble() and JsonHashTable::getDouble()
This commit is contained in:
@ -41,6 +41,11 @@ JsonArray JsonArray::getArray(int index)
|
|||||||
return JsonArray(json, getToken(index));
|
return JsonArray(json, getToken(index));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
double JsonArray::getDouble(int index)
|
||||||
|
{
|
||||||
|
return getDoubleFromToken(getToken(index));
|
||||||
|
}
|
||||||
|
|
||||||
JsonHashTable JsonArray::getHashTable(int index)
|
JsonHashTable JsonArray::getHashTable(int index)
|
||||||
{
|
{
|
||||||
return JsonHashTable(json, getToken(index));
|
return JsonHashTable(json, getToken(index));
|
||||||
|
@ -26,7 +26,8 @@ public:
|
|||||||
return tokens != 0 ? tokens[0].size : 0;
|
return tokens != 0 ? tokens[0].size : 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
JsonArray getArray(int index);
|
JsonArray getArray(int index);
|
||||||
|
double getDouble(int index);
|
||||||
JsonHashTable getHashTable(int index);
|
JsonHashTable getHashTable(int index);
|
||||||
long getLong(int index);
|
long getLong(int index);
|
||||||
char* getString(int index);
|
char* getString(int index);
|
||||||
|
@ -53,6 +53,11 @@ JsonArray JsonHashTable::getArray(char* key)
|
|||||||
return JsonArray(json, getToken(key));
|
return JsonArray(json, getToken(key));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
double JsonHashTable::getDouble(char* key)
|
||||||
|
{
|
||||||
|
return getDoubleFromToken(getToken(key));
|
||||||
|
}
|
||||||
|
|
||||||
JsonHashTable JsonHashTable::getHashTable(char* key)
|
JsonHashTable JsonHashTable::getHashTable(char* key)
|
||||||
{
|
{
|
||||||
return JsonHashTable(json, getToken(key));
|
return JsonHashTable(json, getToken(key));
|
||||||
|
@ -22,6 +22,7 @@ public:
|
|||||||
JsonHashTable() {}
|
JsonHashTable() {}
|
||||||
|
|
||||||
JsonArray getArray(char* key);
|
JsonArray getArray(char* key);
|
||||||
|
double getDouble(char* key);
|
||||||
JsonHashTable getHashTable(char* key);
|
JsonHashTable getHashTable(char* key);
|
||||||
long getLong(char* key);
|
long getLong(char* key);
|
||||||
char* getString(char* key);
|
char* getString(char* key);
|
||||||
|
@ -6,7 +6,7 @@
|
|||||||
|
|
||||||
#include "JsonObjectBase.h"
|
#include "JsonObjectBase.h"
|
||||||
|
|
||||||
#include <stdlib.h> // for strtol
|
#include <stdlib.h> // for strtol, strtod
|
||||||
|
|
||||||
int JsonObjectBase::getNestedTokenCount(jsmntok_t* token)
|
int JsonObjectBase::getNestedTokenCount(jsmntok_t* token)
|
||||||
{
|
{
|
||||||
@ -20,10 +20,16 @@ int JsonObjectBase::getNestedTokenCount(jsmntok_t* token)
|
|||||||
return count;
|
return count;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
double JsonObjectBase::getDoubleFromToken(jsmntok_t* token)
|
||||||
|
{
|
||||||
|
if (token->type != JSMN_PRIMITIVE) return 0;
|
||||||
|
|
||||||
|
return strtod(json + token->start, 0);
|
||||||
|
}
|
||||||
|
|
||||||
long JsonObjectBase::getLongFromToken(jsmntok_t* token)
|
long JsonObjectBase::getLongFromToken(jsmntok_t* token)
|
||||||
{
|
{
|
||||||
if (token->type != JSMN_PRIMITIVE)
|
if (token->type != JSMN_PRIMITIVE) return 0;
|
||||||
return 0;
|
|
||||||
|
|
||||||
return strtol(json + token->start, 0, 0);
|
return strtol(json + token->start, 0, 0);
|
||||||
}
|
}
|
||||||
|
@ -38,8 +38,10 @@ protected:
|
|||||||
}
|
}
|
||||||
|
|
||||||
static int getNestedTokenCount(jsmntok_t* token);
|
static int getNestedTokenCount(jsmntok_t* token);
|
||||||
char* getStringFromToken(jsmntok_t* token);
|
|
||||||
|
double getDoubleFromToken(jsmntok_t* token);
|
||||||
long getLongFromToken(jsmntok_t* token);
|
long getLongFromToken(jsmntok_t* token);
|
||||||
|
char* getStringFromToken(jsmntok_t* token);
|
||||||
|
|
||||||
char* json;
|
char* json;
|
||||||
jsmntok_t* tokens;
|
jsmntok_t* tokens;
|
||||||
|
Reference in New Issue
Block a user