diff --git a/CHANGELOG.md b/CHANGELOG.md index c0a8b4b8..0ea65414 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,11 @@ ArduinoJson: change log ======================= +HEAD +---- + +* Fix conversion from static string to number + v7.3.0 (2024-12-29) ------ diff --git a/extras/tests/JsonVariant/as.cpp b/extras/tests/JsonVariant/as.cpp index 37911f00..65d5d6cf 100644 --- a/extras/tests/JsonVariant/as.cpp +++ b/extras/tests/JsonVariant/as.cpp @@ -183,6 +183,7 @@ TEST_CASE("JsonVariant::as()") { variant.set("42"); REQUIRE(variant.as() == 42L); + REQUIRE(variant.as() == 42); REQUIRE(variant.as() == "42"); REQUIRE(variant.as().isStatic() == true); } diff --git a/src/ArduinoJson/Variant/VariantData.hpp b/src/ArduinoJson/Variant/VariantData.hpp index f123c76a..fb59a545 100644 --- a/src/ArduinoJson/Variant/VariantData.hpp +++ b/src/ArduinoJson/Variant/VariantData.hpp @@ -199,6 +199,7 @@ class VariantData { return static_cast(extension->asInt64); #endif case VariantType::LinkedString: + return parseNumber(content_.asLinkedString); case VariantType::OwnedString: return parseNumber(content_.asOwnedString->data); case VariantType::Float: