diff --git a/src/ArduinoJson/JsonArraySubscript.hpp b/src/ArduinoJson/JsonArraySubscript.hpp index 8c24bfb6..59677011 100644 --- a/src/ArduinoJson/JsonArraySubscript.hpp +++ b/src/ArduinoJson/JsonArraySubscript.hpp @@ -44,22 +44,22 @@ class JsonArraySubscript : public JsonVariantBase, } FORCE_INLINE bool isNull() const { - return _index >= _array.size(); + return get_impl().isNull(); } template FORCE_INLINE typename JsonVariantAs::type as() const { - return _array.get(_index); + return get_impl().as(); } template FORCE_INLINE bool is() const { - return _array.is(_index); + return get_impl().is(); } template FORCE_INLINE typename JsonVariantTo::type to() const { - return _array.get(_index).to(); + return get_impl().to(); } // Replaces the value @@ -89,7 +89,7 @@ class JsonArraySubscript : public JsonVariantBase, } private: - JsonVariant get_impl() const { + FORCE_INLINE JsonVariant get_impl() const { return _array.get(_index); } diff --git a/src/ArduinoJson/JsonObjectSubscript.hpp b/src/ArduinoJson/JsonObjectSubscript.hpp index bcba2c48..e4d3cea8 100644 --- a/src/ArduinoJson/JsonObjectSubscript.hpp +++ b/src/ArduinoJson/JsonObjectSubscript.hpp @@ -98,11 +98,11 @@ class JsonObjectSubscript } private: - JsonVariant get_impl() const { + FORCE_INLINE JsonVariant get_impl() const { return _object.get(_key); } - JsonVariant set_impl() const { + FORCE_INLINE JsonVariant set_impl() const { return _object.set(_key); }