diff options
Diffstat (limited to 'src/qjsondocument.cpp')
-rw-r--r-- | src/qjsondocument.cpp | 26 |
1 files changed, 24 insertions, 2 deletions
diff --git a/src/qjsondocument.cpp b/src/qjsondocument.cpp index 4702428..764e963 100644 --- a/src/qjsondocument.cpp +++ b/src/qjsondocument.cpp @@ -48,8 +48,7 @@ #include <qjsonparser_p.h> #include <qstringlist.h> -using namespace QtJson; - +namespace QtJson { QJsonDocument::QJsonDocument() : d(0) @@ -301,3 +300,26 @@ bool QJsonDocument::isValid() } return d != 0; } + +} // namespace QtJson + +QT_BEGIN_NAMESPACE + +QDebug operator<<(QDebug dbg, const QtJson::QJsonDocument &o) +{ + if (!o.d) { + dbg << "QJsonDocument()"; + return dbg; + } + QByteArray json; + if (o.d->header->root()->isArray()) + QtJson::QJsonWriter::arrayToJson(static_cast<QtJson::Private::Array *>(o.d->header->root()), json, 0, true); + else + QtJson::QJsonWriter::objectToJson(static_cast<QtJson::Private::Object *>(o.d->header->root()), json, 0, true); + dbg.nospace() << "QJsonDocument(" + << json.constData() // print as utf-8 string without extra quotation marks + << ")"; + return dbg.space(); +} + +QT_END_NAMESPACE |