Auf dieser Seite

QJsonDocument Class

Die Klasse „QJsonDocument“ bietet die Möglichkeit, JSON-Dokumente zu lesen und zu schreiben. Mehr...

Kopfzeile: #include <QJsonDocument>
CMake: find_package(Qt6 REQUIRED COMPONENTS Core)
target_link_libraries(mytarget PRIVATE Qt6::Core)
qmake: QT += core

Hinweis: Alle Funktionen dieser Klasse sind reentrant.

QJsonDocument-Vergleiche

KategorieVergleichbare Typen
GleichheitQJsonDocument

Öffentliche Typen

enum JsonFormat { Indented, Compact }

Öffentliche Funktionen

QJsonDocument()
(since 6.12) QJsonDocument(QJsonArray &&array)
(since 6.12) QJsonDocument(QJsonObject &&object)
QJsonDocument(const QJsonArray &array)
QJsonDocument(const QJsonObject &object)
QJsonDocument(const QJsonDocument &other)
QJsonDocument(QJsonDocument &&other)
~QJsonDocument()
QJsonArray array() const
bool isArray() const
bool isEmpty() const
bool isNull() const
bool isObject() const
QJsonObject object() const
void setArray(const QJsonArray &array)
void setObject(const QJsonObject &object)
void swap(QJsonDocument &other)
QByteArray toJson(QJsonDocument::JsonFormat format = JsonFormat::Indented) const
QVariant toVariant() const
QJsonDocument &operator=(QJsonDocument &&other)
QJsonDocument &operator=(const QJsonDocument &other)
const QJsonValue operator[](const QString &key) const
const QJsonValue operator[](qsizetype i) const
const QJsonValue operator[](QLatin1StringView key) const
const QJsonValue operator[](QStringView key) const

Statische öffentliche Mitglieder

QJsonDocument fromJson(const QByteArray &json, QJsonParseError *error = nullptr)
QJsonDocument fromVariant(const QVariant &variant)
bool operator!=(const QJsonDocument &lhs, const QJsonDocument &rhs)
bool operator==(const QJsonDocument &lhs, const QJsonDocument &rhs)

Ausführliche Beschreibung

QJsonDocument ist eine Klasse, die ein vollständiges JSON-Dokument umschließt und dieses Dokument aus einer UTF-8-kodierten textbasierten Darstellung lesen sowie in eine solche schreiben kann.

Ein JSON-Dokument kann mithilfe von ` QJsonDocument::fromJson()` von seiner textbasierten Darstellung in ein `QJsonDocument` konvertiert werden. ` toJson()` wandelt es wieder in Text um. Der Parser ist sehr schnell und effizient und konvertiert das JSON in die von Qt verwendete binäre Darstellung.

Die Gültigkeit des geparsten Dokuments kann mit `!isNull()` abgefragt werden.

Mit isArray() und isObject() lässt sich abfragen, ob ein Dokument ein Array oder ein Objekt enthält. Das im Dokument enthaltene Array oder Objekt kann mit array() oder object() abgerufen und anschließend gelesen oder bearbeitet werden.

Siehe auch JSON-Unterstützung in Qt und Speichern und Laden eines Spiels.

Dokumentation zu Mitgliedstypen

enum QJsonDocument::JsonFormat

Dieser Wert legt das Format des JSON-Byte-Arrays fest, das bei der Konvertierung in ein „ QJsonDocument “ mithilfe von ` toJson()` erzeugt wird.

KonstanteWertBeschreibung
QJsonDocument::Indented0Definiert eine für Menschen lesbare Ausgabe wie folgt:
    {
        "Array": [
            true,
            999,
            "string"
        ],
        "Key": "Value",
        "null": null
    }
QJsonDocument::Compact1Definiert eine kompakte Ausgabe wie folgt:
    {"Array":[true,999,"string"],"Key":"Value","null":null}

Dokumentation der Member-Funktionen

QJsonDocument::QJsonDocument()

Erstellt ein leeres und ungültiges Dokument.

[explicit, since 6.12] QJsonDocument::QJsonDocument(QJsonArray &&array)

Erstellt ein `QJsonDocument` aus ` array`.

Diese Funktion wurde in Qt 6.12 eingeführt.

[explicit, since 6.12] QJsonDocument::QJsonDocument(QJsonObject &&object)

Erstellt ein `QJsonDocument` aus ` object`.

Diese Funktion wurde in Qt 6.12 eingeführt.

[explicit] QJsonDocument::QJsonDocument(const QJsonArray &array)

Erstellt ein `QJsonDocument` aus ` array`.

[explicit] QJsonDocument::QJsonDocument(const QJsonObject &object)

Erstellt ein `QJsonDocument` aus ` object`.

QJsonDocument::QJsonDocument(const QJsonDocument &other)

Erstellt eine Kopie des Dokuments „ other “.

[noexcept] QJsonDocument::QJsonDocument(QJsonDocument &&other)

Erstellt ein QJsonDocument aus other.

[noexcept] QJsonDocument::~QJsonDocument()

Löscht das Dokument.

Binäre Datensätze, die mit „fromRawData“ erstellt wurden, werden nicht freigegeben.

QJsonArray QJsonDocument::array() const

Gibt das im Dokument enthaltene „ QJsonArray “ zurück.

Gibt ein leeres Array zurück, wenn das Dokument ein Objekt enthält.

Siehe auch „ isArray()“, „ object()“ und „ setArray()“.

[static] QJsonDocument QJsonDocument::fromJson(const QByteArray &json, QJsonParseError *error = nullptr)

Analysiert json als UTF-8-kodiertes JSON-Dokument und erstellt daraus ein QJsonDocument.

Gibt ein gültiges (nicht null) ` QJsonDocument ` zurück, wenn das Parsen erfolgreich war. Bei einem Fehler ist das zurückgegebene Dokument null, und die optionale Variable ` error ` enthält weitere Details zum Fehler.

Siehe auch ` toJson()`, ` QJsonParseError` und ` isNull()`.

[static] QJsonDocument QJsonDocument::fromVariant(const QVariant &variant)

Erstellt einen „ QJsonDocument “ aus dem „ QVariant “ variant.

Wenn der „ variant “ einen anderen Typ als „ QVariantMap “, „ QVariantHash “, „ QVariantList “ oder „ QStringList “ enthält, ist das zurückgegebene Dokument ungültig.

Siehe auch toVariant().

bool QJsonDocument::isArray() const

Gibt „ true “ zurück, wenn das Dokument ein Array enthält.

Siehe auch „ array()“ und „ isObject()“.

bool QJsonDocument::isEmpty() const

Gibt „ true “ zurück, wenn das Dokument keine Daten enthält.

bool QJsonDocument::isNull() const

Gibt „ true “ zurück, wenn dieses Dokument null ist.

Null-Dokumente sind Dokumente, die über den Standardkonstruktor erstellt wurden.

Dokumente, die aus UTF-8-kodiertem Text oder im Binärformat erstellt wurden, werden während der Analyse validiert. Wenn die Validierung fehlschlägt, ist das zurückgegebene Dokument ebenfalls null.

bool QJsonDocument::isObject() const

Gibt „ true “ zurück, wenn das Dokument ein Objekt enthält.

Siehe auch „ object()“ und „ isArray()“.

QJsonObject QJsonDocument::object() const

Gibt das im Dokument enthaltene „ QJsonObject “ zurück.

Gibt ein leeres Objekt zurück, wenn das Dokument ein Array enthält.

Siehe auch ` isObject()`, ` array()` und ` setObject()`.

void QJsonDocument::setArray(const QJsonArray &array)

Legt „ array “ als Hauptobjekt dieses Dokuments fest.

Siehe auch setObject() und array().

void QJsonDocument::setObject(const QJsonObject &object)

Legt „ object “ als Hauptobjekt dieses Dokuments fest.

Siehe auch setArray() und object().

[noexcept] void QJsonDocument::swap(QJsonDocument &other)

Ersetzt dieses Dokument durch „ other “. Dieser Vorgang ist sehr schnell und schlägt niemals fehl.

QByteArray QJsonDocument::toJson(QJsonDocument::JsonFormat format = JsonFormat::Indented) const

Konvertiert das „ QJsonDocument “ in ein UTF-8-kodiertes JSON-Dokument in der angegebenen „ format “.

Siehe auch fromJson() und JsonFormat.

QVariant QJsonDocument::toVariant() const

Gibt ein ` QVariant ` zurück, das das JSON-Dokument darstellt.

Die zurückgegebene Variante ist ein ` QVariantList `, wenn das Dokument ein ` QJsonArray ` ist, und ein ` QVariantMap `, wenn das Dokument ein ` QJsonObject` ist.

Siehe auch „ fromVariant()“ und „ QJsonValue::toVariant()“.

[noexcept] QJsonDocument &QJsonDocument::operator=(QJsonDocument &&other)

Move ordnet diesem Dokument „ other “ zu.

QJsonDocument &QJsonDocument::operator=(const QJsonDocument &other)

Weist diesem QJsonDocument das Dokument „ other “ zu. Gibt eine Referenz auf dieses Objekt zurück.

const QJsonValue QJsonDocument::operator[](const QString &key) const

Gibt ein ` QJsonValue ` zurück, das den Wert für den Schlüssel ` key` darstellt.

Entspricht dem Aufruf von ` object()`.value(key).

Der zurückgegebene ` QJsonValue ` ist ` QJsonValue::Undefined `, wenn der Schlüssel nicht existiert oder wenn ` isObject()` den Wert „false“ zurückgibt.

Siehe auch „ QJsonValue“ , „ QJsonValue::isUndefined()“ und „ QJsonObject “.

const QJsonValue QJsonDocument::operator[](qsizetype i) const

Gibt ein ` QJsonValue ` zurück, das den Wert für den Index ` i` darstellt.

Entspricht dem Aufruf von ` array()`.at(i).

Der zurückgegebene ` QJsonValue ` ist ` QJsonValue::Undefined`, wenn ` i ` außerhalb des zulässigen Bereichs liegt oder wenn ` isArray()` den Wert „false“ zurückgibt.

Siehe auch QJsonValue, QJsonValue::isUndefined() und QJsonArray.

const QJsonValue QJsonDocument::operator[](QLatin1StringView key) const

Dies ist eine überladene Funktion.

const QJsonValue QJsonDocument::operator[](QStringView key) const

Dies ist eine überladene Funktion.

Verwandte Nicht-Mitglieder

[noexcept] bool operator!=(const QJsonDocument &lhs, const QJsonDocument &rhs)

Gibt „ true “ zurück, wenn das Dokument „ lhs “ nicht mit dem Dokument „ rhs “ übereinstimmt, andernfalls „ false “.

[noexcept] bool operator==(const QJsonDocument &lhs, const QJsonDocument &rhs)

Gibt „ true “ zurück, wenn das Dokument „ lhs “ mit dem Dokument „ rhs “ übereinstimmt, andernfalls „ false “.

© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.