diff --git a/src/corelib/json/qjsonvalue.cpp b/src/corelib/json/qjsonvalue.cpp index 36df146332..b21f59ae35 100644 --- a/src/corelib/json/qjsonvalue.cpp +++ b/src/corelib/json/qjsonvalue.cpp @@ -563,6 +563,22 @@ QString QJsonValue::toString(const QString &defaultValue) const return QString(holder); } +/*! + Converts the value to a QString and returns it. + + If type() is not String, a null QString will be returned. + + \sa QString::isNull() + */ +QString QJsonValue::toString() const +{ + if (t != String) + return QString(); + stringData->ref.ref(); // the constructor below doesn't add a ref. + QStringDataPtr holder = { stringData }; + return QString(holder); +} + /*! Converts the value to an array and returns it. diff --git a/src/corelib/json/qjsonvalue.h b/src/corelib/json/qjsonvalue.h index 8b6221ea4c..1ce7f745e0 100644 --- a/src/corelib/json/qjsonvalue.h +++ b/src/corelib/json/qjsonvalue.h @@ -107,7 +107,8 @@ public: bool toBool(bool defaultValue = false) const; int toInt(int defaultValue = 0) const; double toDouble(double defaultValue = 0) const; - QString toString(const QString &defaultValue = QString()) const; + QString toString() const; + QString toString(const QString &defaultValue) const; QJsonArray toArray() const; QJsonArray toArray(const QJsonArray &defaultValue) const; QJsonObject toObject() const;