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 |
- Liste aller Mitglieder, einschließlich geerbter Mitglieder
- QJsonDocument ist Teil der JSON-Unterstützung in Qt und der implizit gemeinsam genutzten Klassen.
Hinweis: Alle Funktionen dieser Klasse sind reentrant.
QJsonDocument-Vergleiche
| Kategorie | Vergleichbare Typen |
|---|---|
| Gleichheit | QJsonDocument |
Ö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) |
Verwandte Nicht-Mitglieder
| 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.
| Konstante | Wert | Beschreibung |
|---|---|---|
QJsonDocument::Indented | 0 | Definiert eine für Menschen lesbare Ausgabe wie folgt: |
QJsonDocument::Compact | 1 | Definiert eine kompakte Ausgabe wie folgt: |
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.