forked from bblanchon/ArduinoJson
Change VariantData::asString()
return type to JsonString
This commit is contained in:
@ -120,7 +120,7 @@ struct Converter<const char*> {
|
||||
|
||||
static const char* fromJson(VariantConstRef src) {
|
||||
const VariantData* data = getData(src);
|
||||
return data ? data->asString() : 0;
|
||||
return data ? data->asString().c_str() : 0;
|
||||
}
|
||||
|
||||
static bool checkJson(VariantConstRef src) {
|
||||
@ -137,7 +137,7 @@ struct Converter<String> {
|
||||
|
||||
static String fromJson(VariantConstRef src) {
|
||||
const VariantData* data = getData(src);
|
||||
return data ? String(data->asString(), false) : 0;
|
||||
return data ? data->asString() : 0;
|
||||
}
|
||||
|
||||
static bool checkJson(VariantConstRef src) {
|
||||
@ -158,9 +158,9 @@ template <typename T>
|
||||
inline typename enable_if<IsWriteableString<T>::value>::type convertFromJson(
|
||||
VariantConstRef src, T& dst) {
|
||||
const VariantData* data = getData(src);
|
||||
const char* cstr = data != 0 ? data->asString() : 0;
|
||||
if (cstr)
|
||||
dst = cstr;
|
||||
String str = data != 0 ? data->asString() : 0;
|
||||
if (str)
|
||||
dst = str.c_str();
|
||||
else
|
||||
serializeJson(src, dst);
|
||||
}
|
||||
|
@ -7,6 +7,7 @@
|
||||
#include <ArduinoJson/Memory/MemoryPool.hpp>
|
||||
#include <ArduinoJson/Misc/SerializedValue.hpp>
|
||||
#include <ArduinoJson/Numbers/convertNumber.hpp>
|
||||
#include <ArduinoJson/Strings/String.hpp>
|
||||
#include <ArduinoJson/Strings/StringAdapters.hpp>
|
||||
#include <ArduinoJson/Variant/VariantContent.hpp>
|
||||
|
||||
@ -76,7 +77,7 @@ class VariantData {
|
||||
template <typename T>
|
||||
T asFloat() const;
|
||||
|
||||
const char *asString() const;
|
||||
String asString() const;
|
||||
|
||||
bool asBoolean() const;
|
||||
|
||||
|
@ -70,11 +70,12 @@ inline T VariantData::asFloat() const {
|
||||
}
|
||||
}
|
||||
|
||||
inline const char *VariantData::asString() const {
|
||||
inline String VariantData::asString() const {
|
||||
switch (type()) {
|
||||
case VALUE_IS_LINKED_STRING:
|
||||
return String(_content.asString, true);
|
||||
case VALUE_IS_OWNED_STRING:
|
||||
return _content.asString;
|
||||
return String(_content.asString, false);
|
||||
default:
|
||||
return 0;
|
||||
}
|
||||
|
Reference in New Issue
Block a user