diff --git a/src/ArduinoJson/Array/ArrayRef.hpp b/src/ArduinoJson/Array/ArrayRef.hpp index a2e6eb11..fb396987 100644 --- a/src/ArduinoJson/Array/ArrayRef.hpp +++ b/src/ArduinoJson/Array/ArrayRef.hpp @@ -201,7 +201,8 @@ struct Converter { } static ArrayConstRef fromJson(VariantConstRef src) { - return ArrayConstRef(variantAsArray(getData(src))); + const VariantData* data = getData(src); + return data ? data->resolve()->asArray() : 0; } static bool checkJson(VariantConstRef src) { diff --git a/src/ArduinoJson/Object/ObjectRef.hpp b/src/ArduinoJson/Object/ObjectRef.hpp index 7dcd43f0..ba862abe 100644 --- a/src/ArduinoJson/Object/ObjectRef.hpp +++ b/src/ArduinoJson/Object/ObjectRef.hpp @@ -268,7 +268,8 @@ struct Converter { } static ObjectConstRef fromJson(VariantConstRef src) { - return ObjectConstRef(variantAsObject(getData(src))); + const VariantData* data = getData(src); + return data != 0 ? data->resolve()->asObject() : 0; } static bool checkJson(VariantConstRef src) { diff --git a/src/ArduinoJson/Variant/VariantFunctions.hpp b/src/ArduinoJson/Variant/VariantFunctions.hpp index c6b64f8a..5962fd87 100644 --- a/src/ArduinoJson/Variant/VariantFunctions.hpp +++ b/src/ArduinoJson/Variant/VariantFunctions.hpp @@ -20,18 +20,6 @@ inline typename TVisitor::result_type variantAccept(const VariantData *var, return visitor.visitNull(); } -inline const CollectionData *variantAsArray(const VariantData *var) { - return var != 0 ? var->resolve()->asArray() : 0; -} - -inline const CollectionData *variantAsObject(const VariantData *var) { - return var != 0 ? var->resolve()->asObject() : 0; -} - -inline CollectionData *variantAsObject(VariantData *var) { - return var != 0 ? var->asObject() : 0; -} - inline bool variantCopyFrom(VariantData *dst, const VariantData *src, MemoryPool *pool) { if (!dst)