8#include <QtCore/qcompare.h>
9#include <QtCore/qjsonparseerror.h>
10#if (QT_VERSION >= QT_VERSION_CHECK(7
, 0
, 0
)) || defined(QT_BOOTSTRAPPED)
11#include <QtCore/qjsonvalue.h>
13#include <QtCore/qlatin1stringview.h>
14#include <QtCore/qscopedpointer.h>
15#include <QtCore/qstringview.h>
34 static const uint BinaryFormatTag = (
'q') | (
'b' << 8) | (
'j' << 16) | (
's' << 24);
36 static const uint BinaryFormatTag = (
'q' << 24) | (
'b' << 16) | (
'j' << 8) | (
's');
40 explicit QJsonDocument(
const QJsonObject &object);
41 explicit QJsonDocument(
const QJsonArray &array);
44 QJsonDocument(
const QJsonDocument &other);
45 QJsonDocument &operator =(
const QJsonDocument &other);
47 QJsonDocument(QJsonDocument &&other)
noexcept;
49 QJsonDocument &operator =(QJsonDocument &&other)
noexcept
55 void swap(QJsonDocument &other)
noexcept;
57 static QJsonDocument fromVariant(
const QVariant &variant);
58 QVariant toVariant()
const;
60#if (QT_VERSION < QT_VERSION_CHECK(7
, 0
, 0
)) && !defined(QT_BOOTSTRAPPED)
66 using JsonFormat = QJsonValue::JsonFormat;
67# ifdef __cpp_using_enum
68 using enum QJsonValue::JsonFormat;
71 static constexpr auto Indented = JsonFormat::Indented;
72 static constexpr auto Compact = JsonFormat::Compact;
76 static QJsonDocument fromJson(
const QByteArray &json, QJsonParseError *error =
nullptr);
78 QByteArray toJson(JsonFormat format = JsonFormat::Indented)
const;
82 bool isObject()
const;
84 QJsonObject object()
const;
85 QJsonArray array()
const;
87 void setObject(
const QJsonObject &object);
88 void setArray(
const QJsonArray &array);
90 const QJsonValue operator[](
const QString &key)
const;
91 const QJsonValue operator[](QStringView key)
const;
92 const QJsonValue operator[](QLatin1StringView key)
const;
93 const QJsonValue operator[](qsizetype i)
const;
94#if QT_CORE_REMOVED_SINCE(6
, 8
)
95 bool operator==(
const QJsonDocument &other)
const;
96 bool operator!=(
const QJsonDocument &other)
const {
return !operator==(other); }
101 friend class QJsonValue;
102 friend class QJsonPrivate::Parser;
103 friend Q_CORE_EXPORT QDebug operator<<(QDebug,
const QJsonDocument &);
104 friend Q_CORE_EXPORT
bool comparesEqual(
const QJsonDocument &lhs,
105 const QJsonDocument &rhs)
noexcept;
106 Q_DECLARE_EQUALITY_COMPARABLE(QJsonDocument)
108 QJsonDocument(
const QCborValue &data);
110 std::unique_ptr<QJsonDocumentPrivate> d;
115#if !defined(QT_NO_DEBUG_STREAM)
116Q_CORE_EXPORT
QDebug operator<<(QDebug,
const QJsonDocument &);
119#ifndef QT_NO_DATASTREAM
120Q_CORE_EXPORT
QDataStream &operator<<(QDataStream &,
const QJsonDocument &);
121Q_CORE_EXPORT
QDataStream &operator>>(QDataStream &, QJsonDocument &);
The QAssociativeIterable class is an iterable interface for an associative container in a QVariant.
\inmodule QtCore\reentrant
\inmodule QtCore\reentrant
QCborArray toArray(const QCborArray &a) const
QCborMap toMap(const QCborMap &m) const
QVariant toVariant() const
QCborValueConstRef & operator=(const QCborValueConstRef &)=delete
QCborArray toArray() const
bool toBool(bool defaultValue=false) const
QCborValue taggedValue(const QCborValue &defaultValue=QCborValue()) const
QCborSimpleType toSimpleType(QCborSimpleType defaultValue=QCborSimpleType::Undefined) const
bool isSimpleType() const
bool isRegularExpression() const
QCborValue::Type type() const
QCborValueConstRef(const QCborValueConstRef &)=default
QCborTag tag(QCborTag defaultValue=QCborTag(-1)) const
constexpr QCborValueConstRef()
QByteArray toByteArray(const QByteArray &defaultValue={}) const
qint64 toInteger(qint64 defaultValue=0) const
bool isSimpleType(QCborSimpleType st) const
QUuid toUuid(const QUuid &defaultValue={}) const
QCborContainerPrivate * d
QAnyStringView toStringView(QAnyStringView defaultValue={}) const
friend bool comparesEqual(const QCborValueConstRef &lhs, const QCborValueConstRef &rhs) noexcept
friend bool comparesEqual(const QCborValueConstRef &lhs, const QCborValue &rhs) noexcept
QString toDiagnosticNotation(QCborValue::DiagnosticNotationOptions opt=QCborValue::Compact) const
int compare(const QCborValue &other) const
friend Qt::strong_ordering compareThreeWay(const QCborValueConstRef &lhs, const QCborValue &rhs) noexcept
operator QCborValue() const
friend Qt::strong_ordering compareThreeWay(const QCborValueConstRef &lhs, const QCborValueConstRef &rhs) noexcept
constexpr QCborValueConstRef(QCborContainerPrivate *dd, qsizetype ii)
QCborValue concrete() const noexcept
QString toString(const QString &defaultValue={}) const
QUrl toUrl(const QUrl &defaultValue={}) const
QJsonValue toJsonValue() const
double toDouble(double defaultValue=0) const
\inmodule QtCore\reentrant
\inmodule QtCore\reentrant
\inmodule QtCore\reentrant
\inmodule QtCore\reentrant
\inmodule QtCore\reentrant
\inmodule QtCore\reentrant
The QSequentialIterable class is an iterable interface for a container in a QVariant.
\keyword 16-bit Floating Point Support\inmodule QtCore \inheaderfile QFloat16
QMutableListIterator< QByteArray > QMutableByteArrayListIterator
Q_DECLARE_TYPEINFO(QByteArrayView, Q_PRIMITIVE_TYPE)
Q_CORE_EXPORT QDebug operator<<(QDebug debug, QDir::Filters filters)
QList< QVariant > QVariantList
#define qCWarning(category,...)
#define Q_STATIC_LOGGING_CATEGORY(name,...)
#define QStringLiteral(str)
\inmodule QtCore\reentrant
QString errorString() const
\variable QCborParserError::offset
~QListSpecialMethods()=default
QListSpecialMethods & operator=(const QListSpecialMethods &)=default
QListSpecialMethods(QListSpecialMethods &&)=default
QListSpecialMethods & operator=(QListSpecialMethods &&)=default
QListSpecialMethods()=default
QListSpecialMethods(const QListSpecialMethods &)=default
QByteArray join(QByteArrayView sep={}) const
static T value(const Iterator &it)
static T value(Iterator &it)
static QCborValueConstRef key(Iterator &it)
static QCborValueConstRef key(const Iterator &it)