From 4e02c8d5b89966a97703b6fe548937b9e94f7441 Mon Sep 17 00:00:00 2001 From: Thiago Macieira Date: Wed, 24 Jan 2018 13:31:04 -0800 Subject: 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 --- src/corelib/serialization/qjsonvalue.cpp | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'src/corelib/serialization/qjsonvalue.cpp') 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 #include #include +#include #include #include #include @@ -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: -- cgit v1.2.3