| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172 |
- /*
- * Arduino JSON library
- * Benoit Blanchon 2014 - MIT License
- */
- #pragma once
- #include "JsonToken.h"
- #ifndef ARDUINO_JSON_NO_DEPRECATION_WARNING
- #ifdef __GNUC__
- #define DEPRECATED __attribute__((deprecated))
- #elif defined(_MSC_VER)
- #define DEPRECATED __declspec(deprecated)
- #endif
- #else
- #define DEPRECATED
- #endif
- namespace ArduinoJson
- {
- namespace Parser
- {
- // A JSON value
- // Can be converted to string, double, bool, array or object.
- class JsonValue : protected JsonToken
- {
- public:
- // Create a invalid value
- JsonValue()
- {
- }
- // Convert a JsonToken to a JsonValue
- JsonValue(JsonToken token)
- : JsonToken(token)
- {
- }
- // Tell is the JsonValue is valid
- bool success()
- {
- return isValid();
- }
- // Convert the JsonValue to a bool.
- // Returns false if the JsonValue is not a primitve.
- operator bool();
- // Convert the JsonValue to a floating point value.
- // Returns false if the JsonValue is not a number.
- operator double();
- // Convert the JsonValue to a long integer.
- // Returns 0 if the JsonValue is not a number.
- operator long();
- // Convert the JsonValue to a string.
- // Returns 0 if the JsonValue is not a string.
- operator char*();
-
- // Get the nested value at the specified index.
- // Returns an invalid JsonValue if the current value is not an array.
- JsonValue operator[](int index);
- // Get the nested value matching the specified index.
- // Returns an invalid JsonValue if the current value is not an object.
- JsonValue operator[](const char* key);
- };
- }
- }
|