summaryrefslogtreecommitdiffstats
path: root/src/corelib/serialization/qjsonvalue.cpp
diff options
context:
space:
mode:
authorThiago Macieira <thiago.macieira@intel.com>2018-01-24 13:31:04 -0800
committerThiago Macieira <thiago.macieira@intel.com>2018-03-02 04:06:33 +0000
commit4e02c8d5b89966a97703b6fe548937b9e94f7441 (patch)
tree043bf6fce1fcd11070dff5f9d5dd4dc34497fdbf /src/corelib/serialization/qjsonvalue.cpp
parenta2ffb35ac2354735a95b21557a762aa16d7140a3 (diff)
JSON: remove braces from UUID text representations
[ChangeLog][QtCore][QJsonValue] fromVariant() conversion now converts from QUrl and QUuid using special encoding forms to ensure best JSON compatibility. Change-Id: I56b444f9d6274221a3b7fffd150cdc5ca1f87ff1 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
Diffstat (limited to 'src/corelib/serialization/qjsonvalue.cpp')
-rw-r--r--src/corelib/serialization/qjsonvalue.cpp9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/corelib/serialization/qjsonvalue.cpp b/src/corelib/serialization/qjsonvalue.cpp
index 989d6d51db..b8051d6228 100644
--- a/src/corelib/serialization/qjsonvalue.cpp
+++ b/src/corelib/serialization/qjsonvalue.cpp
@@ -41,6 +41,7 @@
#include <qjsonvalue.h>
#include <qjsonarray.h>
#include <qurl.h>
+#include <quuid.h>
#include <qvariant.h>
#include <qstringlist.h>
#include <qdebug.h>
@@ -416,6 +417,12 @@ QJsonValue &QJsonValue::operator =(const QJsonValue &other)
\endlist
\li QJsonValue::String. The conversion will use QUrl::toString() with flag
QUrl::FullyEncoded, so as to ensure maximum compatibility in parsing the URL
+ \row
+ \li
+ \list
+ \li QMetaType::QUuid
+ \endlist
+ \li QJsonValue::String. Since Qt 5.11, the resulting string will not include braces
\endtable
For all other QVariant types a conversion to a QString will be attempted. If the returned string
@@ -450,6 +457,8 @@ QJsonValue QJsonValue::fromVariant(const QVariant &variant)
#ifndef QT_BOOTSTRAPPED
case QVariant::Url:
return QJsonValue(variant.toUrl().toString(QUrl::FullyEncoded));
+ case QVariant::Uuid:
+ return variant.toUuid().toString(QUuid::WithoutBraces);
case QMetaType::QJsonValue:
return variant.toJsonValue();
case QMetaType::QJsonObject: