Auf dieser Seite

QJsonObject Class

Die Klasse „QJsonObject“ kapselt ein JSON-Objekt. Mehr dazu...

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

Hinweis: Alle Funktionen dieser Klasse sind reentrant.

QJsonObject-Vergleiche

KategorieVergleichbare Typen
GleichheitQJsonObject
GleichheitQJsonValue und QJsonValueConstRef.

Öffentliche Typen

Öffentliche Funktionen

QJsonObject()
QJsonObject(std::initializer_list<std::pair<QString, QJsonValue>> args)
QJsonObject(const QJsonObject &other)
QJsonObject(QJsonObject &&other)
~QJsonObject()
(since 6.10) auto asKeyValueRange() &&
(since 6.10) auto asKeyValueRange() &
(since 6.10) auto asKeyValueRange() const &&
(since 6.10) auto asKeyValueRange() const &
QJsonObject::iterator begin()
QJsonObject::const_iterator begin() const
(since 6.12) QJsonObject::const_iterator cbegin() const
(since 6.12) QJsonObject::const_iterator cend() const
QJsonObject::const_iterator constBegin() const
QJsonObject::const_iterator constEnd() const
QJsonObject::const_iterator constFind(const QString &key) const
QJsonObject::const_iterator constFind(QLatin1StringView key) const
QJsonObject::const_iterator constFind(QStringView key) const
(since 6.10) QJsonObject::const_key_value_iterator constKeyValueBegin() const
(since 6.10) QJsonObject::const_key_value_iterator constKeyValueEnd() const
bool contains(const QString &key) const
bool contains(QLatin1StringView key) const
bool contains(QStringView key) const
qsizetype count() const
bool empty() const
QJsonObject::iterator end()
QJsonObject::const_iterator end() const
QJsonObject::iterator erase(QJsonObject::iterator it)
QJsonObject::iterator find(const QString &key)
QJsonObject::iterator find(QLatin1StringView key)
QJsonObject::iterator find(QStringView key)
QJsonObject::const_iterator find(QLatin1StringView key) const
QJsonObject::const_iterator find(QStringView key) const
QJsonObject::const_iterator find(const QString &key) const
QJsonObject::iterator insert(const QString &key, const QJsonValue &value)
QJsonObject::iterator insert(QLatin1StringView key, const QJsonValue &value)
QJsonObject::iterator insert(QStringView key, const QJsonValue &value)
bool isEmpty() const
(since 6.10) QJsonObject::key_value_iterator keyValueBegin()
(since 6.10) QJsonObject::const_key_value_iterator keyValueBegin() const
(since 6.10) QJsonObject::key_value_iterator keyValueEnd()
(since 6.10) QJsonObject::const_key_value_iterator keyValueEnd() const
QStringList keys() const
qsizetype length() const
void remove(const QString &key)
void remove(QLatin1StringView key)
void remove(QStringView key)
qsizetype size() const
void swap(QJsonObject &other)
QJsonValue take(const QString &key)
QJsonValue take(QLatin1StringView key)
QJsonValue take(QStringView key)
QVariantHash toVariantHash() const
QVariantMap toVariantMap() const
QJsonValue value(const QString &key) const
QJsonValue value(QLatin1StringView key) const
QJsonValue value(QStringView key) const
QJsonObject &operator=(QJsonObject &&other)
QJsonObject &operator=(const QJsonObject &other)
QJsonValueRef operator[](const QString &key)
QJsonValue operator[](const QString &key) const
QJsonValueRef operator[](QLatin1StringView key)
QJsonValueRef operator[](QStringView key)
QJsonValue operator[](QLatin1StringView key) const
QJsonValue operator[](QStringView key) const

Statische öffentliche Mitglieder

QJsonObject fromVariantHash(const QVariantHash &hash)
QJsonObject fromVariantMap(const QVariantMap &map)
bool operator!=(const QJsonObject &lhs, const QJsonObject &rhs)
bool operator==(const QJsonObject &lhs, const QJsonObject &rhs)

Ausführliche Beschreibung

Ein JSON-Objekt ist eine Liste von Schlüssel-Wert-Paaren, wobei die Schlüssel eindeutige Zeichenfolgen sind und die Werte durch ein ` QJsonValue` dargestellt werden.

Ein `QJsonObject` kann in ein ` QVariantMap` konvertiert und wieder zurückkonvertiert werden. Mit den Methoden ` size()`, ` insert()` und ` remove()` können Sie die Anzahl der (Schlüssel, Wert)-Paare abfragen und den Inhalt mithilfe des Standard-C++-Iterator-Musters durchlaufen.

QJsonObject ist eine implizit gemeinsam genutzte Klasse und teilt sich die Daten mit dem Dokument, aus dem sie erstellt wurde, solange dieses nicht geändert wird.

Sie können das Objekt mithilfe von ` QJsonDocument` in textbasiertes JSON konvertieren und umgekehrt.

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

Dokumentation zu den Mitgliedstypen

QJsonObject::ConstIterator

Synonym im Qt-Stil für „ QJsonObject::const_iterator “.

QJsonObject::Iterator

Synonym im Qt-Stil für „ QJsonObject::iterator “.

[since 6.10] QJsonObject::const_key_value_iterator

Der Typdefinitionsbezeichner `QJsonObject::const_key_value_iterator` stellt einen Iterator im STL-Stil für ` QJsonObject` bereit.

„QJsonObject::const_key_value_iterator“ entspricht im Wesentlichen „ QJsonObject::const_iterator “, mit dem Unterschied, dass der Operator *() ein Schlüssel-Wert-Paar anstelle eines einzelnen Werts zurückgibt.

Dieser Typedef wurde in Qt 6.10 eingeführt.

Siehe auch ` QKeyValueIterator`.

QJsonObject::key_type

Typedef für „ QString “. Wird aus Gründen der STL-Kompatibilität bereitgestellt.

[since 6.10] QJsonObject::key_value_iterator

Der Typdefinitionsbezeichner `QJsonObject::key_value_iterator` stellt einen Iterator im STL-Stil für ` QJsonObject` bereit.

`QJsonObject::key_value_iterator` entspricht im Wesentlichen ` QJsonObject::iterator `, mit dem Unterschied, dass der Operator `*()` ein Schlüssel-Wert-Paar anstelle eines einzelnen Werts zurückgibt.

Dieser Typedef wurde in Qt 6.10 eingeführt.

Siehe auch ` QKeyValueIterator`.

QJsonObject::mapped_type

Typedef für „ QJsonValue “. Wird aus Gründen der STL-Kompatibilität bereitgestellt.

QJsonObject::size_type

Typedef für `qsizetype`. Wird aus Gründen der STL-Kompatibilität bereitgestellt.

Dokumentation zu den Mitgliedsfunktionen

QJsonObject::QJsonObject()

Erstellt ein leeres JSON-Objekt.

Siehe auch ` isEmpty()`.

QJsonObject::QJsonObject(std::initializer_list<std::pair<QString, QJsonValue>> args)

Erstellt eine QJsonObject-Instanz, die anhand einer Initialisierungsliste v args initialisiert wird. Beispiel:

QJsonObject object
{
    {"property1", 1},
    {"property2", 2}
};

[noexcept] QJsonObject::QJsonObject(const QJsonObject &other)

Erstellt eine Kopie von other.

Da QJsonObject implizit gemeinsam genutzt wird, handelt es sich um eine oberflächliche Kopie, solange das Objekt nicht verändert wird.

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

Erstellt ein QJsonObject aus „ other “.

[noexcept] QJsonObject::~QJsonObject()

Löscht das Objekt.

[since 6.10] auto QJsonObject::asKeyValueRange() &&

[since 6.10] auto QJsonObject::asKeyValueRange() &

[since 6.10] auto QJsonObject::asKeyValueRange() const &&

[since 6.10] auto QJsonObject::asKeyValueRange() const &

Gibt ein Bereichsobjekt zurück, das die Iteration über dieses Objekt als Schlüssel-Wert-Paare ermöglicht. Dieses Bereichsobjekt kann beispielsweise in einer bereichsbasierten for-Schleife in Kombination mit einer strukturierten Bindungsdeklaration verwendet werden:

QJsonObject obj{
    {  „something“,  „is“ },
    {  „in“,  „this“ },
    {  „object“, 42 },
};

for (auto [key, value]: obj.asKeyValueRange()) {
    qDebug() << key << "->" << value;
   if (key== "object")
        value = "!"; // das Objekt unter diesem Schlüssel ändern
}
qDebug() << obj["object"]; // QJsonValue(string, "!")

Beachten Sie, dass der auf diese Weise erhaltene Wert eine Referenz auf den Wert im Objekt ist. Das bedeutet konkret: Eine Änderung des Werts führt zu einer Änderung des Objekts selbst.

Wird diese Methode auf R-Werte angewendet (z. B. auf ein temporäres Objekt, das im Initialisierer einer Bereichs-for-Schleife erstellt wurde), wird das Objekt in diesem Bereich erfasst.

Diese Funktionen wurden in Qt 6.10 eingeführt.

Siehe auch QKeyValueIterator.

QJsonObject::iterator QJsonObject::begin()

Gibt einen Iterator im STL-Stil zurück, der auf das erste Element des Objekts verweist.

Siehe auch constBegin() und end().

QJsonObject::const_iterator QJsonObject::begin() const

Dies ist eine überladene Funktion.

[since 6.12] QJsonObject::const_iterator QJsonObject::cbegin() const

Gibt einen konstanten Iterator im STL-Stil zurück, der auf das erste Element des Objekts verweist.

Diese Funktion wurde in Qt 6.12 eingeführt.

Siehe auch „ begin()“ und „ cend()“.

[since 6.12] QJsonObject::const_iterator QJsonObject::cend() const

Gibt einen konstanten Iterator im STL-Stil zurück, der auf das imaginäre Element nach dem letzten Element im Objekt zeigt.

Diese Funktion wurde in Qt 6.12 eingeführt.

Siehe auch „ cbegin()“ und „ end()“.

QJsonObject::const_iterator QJsonObject::constBegin() const

Gibt einen konstanten Iterator im STL-Stil zurück, der auf das erste Element des Objekts verweist.

Siehe auch „ begin()“ und „ constEnd()“.

QJsonObject::const_iterator QJsonObject::constEnd() const

Gibt einen konstanten Iterator im STL-Stil zurück, der auf das imaginäre Element nach dem letzten Element im Objekt zeigt.

Siehe auch „ constBegin()“ und „ end()“.

QJsonObject::const_iterator QJsonObject::constFind(const QString &key) const

Gibt einen const-Iterator zurück, der auf das Element mit dem Schlüssel „ key “ im Map verweist.

Enthält das Map kein Element mit dem Schlüssel „ key “, gibt die Funktion „ constEnd()“ zurück.

QJsonObject::const_iterator QJsonObject::constFind(QLatin1StringView key) const

Dies ist eine überladene Funktion.

QJsonObject::const_iterator QJsonObject::constFind(QStringView key) const

Dies ist eine überladene Funktion.

[since 6.10] QJsonObject::const_key_value_iterator QJsonObject::constKeyValueBegin() const

Gibt einen konstanten Iterator im STL-Stil zurück, der auf den ersten Eintrag im Objekt zeigt.

Diese Funktion wurde in Qt 6.10 eingeführt.

Siehe auch ` keyValueBegin()`.

[since 6.10] QJsonObject::const_key_value_iterator QJsonObject::constKeyValueEnd() const

Gibt einen konstanten Iterator im STL-Stil zurück, der auf den imaginären Eintrag nach dem letzten Eintrag im Objekt zeigt.

Diese Funktion wurde in Qt 6.10 eingeführt.

Siehe auch ` constKeyValueBegin()`.

bool QJsonObject::contains(const QString &key) const

Gibt „ true “ zurück, wenn das Objekt den Schlüssel „ key “ enthält.

Siehe auch „ insert()“, „ remove()“ und „ take()“.

bool QJsonObject::contains(QLatin1StringView key) const

Dies ist eine überladene Funktion.

bool QJsonObject::contains(QStringView key) const

Dies ist eine überladene Funktion.

qsizetype QJsonObject::count() const

Entspricht „ size()“.

bool QJsonObject::empty() const

Diese Funktion dient der STL-Kompatibilität. Sie entspricht der Funktion „ isEmpty()“ und gibt „ true “ zurück, wenn das Objekt leer ist; andernfalls gibt sie „ false “ zurück.

QJsonObject::iterator QJsonObject::end()

Gibt einen Iterator im STL-Stil zurück, der auf das imaginäre Element nach dem letzten Element des Objekts verweist.

Siehe auch ` begin()` und ` constEnd()`.

QJsonObject::const_iterator QJsonObject::end() const

Dies ist eine überladene Funktion.

QJsonObject::iterator QJsonObject::erase(QJsonObject::iterator it)

Entfernt das (Schlüssel, Wert)-Paar, auf das der Iterator it zeigt, aus der Map und gibt einen Iterator auf das nächste Element in der Map zurück.

Siehe auch remove().

QJsonObject::iterator QJsonObject::find(const QString &key)

Gibt einen Iterator zurück, der auf das Element mit dem Schlüssel „ key “ im Map verweist.

Enthält die Map keinen Eintrag mit dem Schlüssel „ key “, gibt die Funktion „ end()“ zurück.

QJsonObject::iterator QJsonObject::find(QLatin1StringView key)

Dies ist eine überladene Funktion.

QJsonObject::iterator QJsonObject::find(QStringView key)

Dies ist eine überladene Funktion.

QJsonObject::const_iterator QJsonObject::find(QLatin1StringView key) const

Dies ist eine überladene Funktion.

QJsonObject::const_iterator QJsonObject::find(QStringView key) const

Dies ist eine überladene Funktion.

QJsonObject::const_iterator QJsonObject::find(const QString &key) const

Dies ist eine überladene Funktion.

[static] QJsonObject QJsonObject::fromVariantHash(const QVariantHash &hash)

Konvertiert den Variant-Hash „ hash “ in ein „ QJsonObject “.

Die Schlüssel in „ hash “ werden als Schlüssel im JSON-Objekt verwendet, und die Werte aus „ QVariant “ werden in JSON-Werte umgewandelt.

Hinweis: Die Konvertierung von QVariant erfolgt nicht vollständig verlustfrei. Weitere Informationen finden Sie in der Dokumentation zu QJsonValue::fromVariant().

Siehe auch fromVariantMap(), toVariantHash() und QJsonValue::fromVariant().

[static] QJsonObject QJsonObject::fromVariantMap(const QVariantMap &map)

Konvertiert die Varianten-Map „ map “ in eine „ QJsonObject “.

Die Schlüssel in „ map “ werden als Schlüssel im JSON-Objekt verwendet, und die Werte aus „ QVariant “ werden in JSON-Werte konvertiert.

Hinweis: Die Konvertierung aus „ QVariant “ erfolgt nicht vollständig verlustfrei. Weitere Informationen finden Sie in der Dokumentation zu „ QJsonValue::fromVariant “ ().

Siehe auch fromVariantHash(), toVariantMap() und QJsonValue::fromVariant().

QJsonObject::iterator QJsonObject::insert(const QString &key, const QJsonValue &value)

Fügt einen neuen Eintrag mit dem Schlüssel „ key “ und dem Wert „ value “ ein.

Falls bereits ein Eintrag mit dem Schlüssel „ key “ vorhanden ist, wird dessen Wert durch „ value “ ersetzt.

Gibt einen Iterator zurück, der auf den eingefügten Eintrag verweist.

Ist der Wert „ QJsonValue::Undefined “, wird der Schlüssel aus dem Objekt entfernt. Der zurückgegebene Iterator zeigt dann auf „ end “().

Siehe auch „ remove()“, „ take()“, „ QJsonObject::iterator “ und „ end()“.

QJsonObject::iterator QJsonObject::insert(QLatin1StringView key, const QJsonValue &value)

Dies ist eine überladene Funktion.

QJsonObject::iterator QJsonObject::insert(QStringView key, const QJsonValue &value)

Dies ist eine überladene Funktion.

bool QJsonObject::isEmpty() const

Gibt „ true “ zurück, wenn das Objekt leer ist. Dies entspricht „ size() == 0“.

Siehe auch size().

[since 6.10] QJsonObject::key_value_iterator QJsonObject::keyValueBegin()

Gibt einen Iterator im STL-Stil zurück, der auf den ersten Eintrag im Objekt zeigt.

Diese Funktion wurde in Qt 6.10 eingeführt.

Siehe auch ` keyValueEnd()`.

[since 6.10] QJsonObject::const_key_value_iterator QJsonObject::keyValueBegin() const

Gibt einen konstanten Iterator im STL-Stil zurück, der auf den ersten Eintrag im Objekt zeigt.

Diese Funktion wurde in Qt 6.10 eingeführt.

Siehe auch ` keyValueEnd()`.

[since 6.10] QJsonObject::key_value_iterator QJsonObject::keyValueEnd()

Gibt einen Iterator im STL-Stil zurück, der auf den imaginären Eintrag nach dem letzten Eintrag im Objekt zeigt.

Diese Funktion wurde in Qt 6.10 eingeführt.

Siehe auch „ keyValueBegin()“.

[since 6.10] QJsonObject::const_key_value_iterator QJsonObject::keyValueEnd() const

Gibt einen konstanten Iterator im STL-Stil zurück, der auf den imaginären Eintrag nach dem letzten Eintrag im Objekt zeigt.

Diese Funktion wurde in Qt 6.10 eingeführt.

Siehe auch ` keyValueBegin()`.

QStringList QJsonObject::keys() const

Gibt eine Liste aller Schlüssel in diesem Objekt zurück.

Die Liste ist alphabetisch sortiert.

qsizetype QJsonObject::length() const

Entspricht „ size()“.

void QJsonObject::remove(const QString &key)

Entfernt „ key “ aus dem Objekt.

Siehe auch „ insert()“ und „ take()“.

void QJsonObject::remove(QLatin1StringView key)

Dies ist eine überladene Funktion.

void QJsonObject::remove(QStringView key)

Dies ist eine überladene Funktion.

qsizetype QJsonObject::size() const

Gibt die Anzahl der im Objekt gespeicherten (Schlüssel, Wert)-Paare zurück.

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

Tauscht dieses Objekt mit „ other “ aus. Dieser Vorgang ist sehr schnell und schlägt niemals fehl.

QJsonValue QJsonObject::take(const QString &key)

Entfernt „ key “ aus dem Objekt.

Gibt ein ` QJsonValue ` zurück, das den Wert enthält, auf den ` key` verweist. Wenn ` key ` nicht im Objekt enthalten war, lautet das zurückgegebene ` QJsonValue ` ` QJsonValue::Undefined`.

Siehe auch insert(), remove() und QJsonValue.

QJsonValue QJsonObject::take(QLatin1StringView key)

Dies ist eine überladene Funktion.

QJsonValue QJsonObject::take(QStringView key)

Dies ist eine überladene Funktion.

QVariantHash QJsonObject::toVariantHash() const

Wandelt dieses Objekt in ein „ QVariantHash “ um.

Gibt den erstellten Hash zurück.

Siehe auch toVariantMap().

QVariantMap QJsonObject::toVariantMap() const

Wandelt dieses Objekt in eine „ QVariantMap “ um.

Gibt die erstellte Map zurück.

Siehe auch ` toVariantHash()`.

QJsonValue QJsonObject::value(const QString &key) const

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

Der zurückgegebene ` QJsonValue ` lautet ` QJsonValue::Undefined `, wenn der Schlüssel nicht existiert.

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

QJsonValue QJsonObject::value(QLatin1StringView key) const

Dies ist eine überladene Funktion.

QJsonValue QJsonObject::value(QStringView key) const

Dies ist eine überladene Funktion.

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

Mit „Move“ wird „ other “ diesem Objekt zugewiesen.

[noexcept] QJsonObject &QJsonObject::operator=(const QJsonObject &other)

Weist diesem Objekt „ other “ zu.

QJsonValueRef QJsonObject::operator[](const QString &key)

Gibt eine Referenz auf den Wert für „ key “ zurück. Wenn im Objekt kein Wert mit dem Schlüssel „ key “ vorhanden ist, wird ein solcher mit dem Wert „ QJsonValue::Null “ erstellt und anschließend zurückgegeben.

Der Rückgabewert ist vom Typ ` QJsonValueRef`, einer Hilfsklasse für ` QJsonArray ` und ` QJsonObject`. Wenn Sie ein Objekt vom Typ ` QJsonValueRef` erhalten, können Sie es so verwenden, als wäre es eine Referenz auf ein ` QJsonValue`. Wenn Sie ihm einen Wert zuweisen, wirkt sich die Zuweisung auf das Element in ` QJsonArray ` oder ` QJsonObject ` aus, von dem Sie die Referenz erhalten haben.

Siehe auch value().

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

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

Dies hat dieselbe Wirkung wie ` value()`.

Der zurückgegebene ` QJsonValue ` lautet ` QJsonValue::Undefined `, falls der Schlüssel nicht existiert.

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

QJsonValueRef QJsonObject::operator[](QLatin1StringView key)

Dies ist eine überladene Funktion.

QJsonValueRef QJsonObject::operator[](QStringView key)

Dies ist eine überladene Funktion.

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

Dies ist eine überladene Funktion.

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

Dies ist eine überladene Funktion.

Verwandte Nicht-Mitglieder

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

Gibt „ true “ zurück, wenn das Objekt „ lhs “ nicht gleich „ rhs “ ist; andernfalls „ false “.

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

Gibt „ true “ zurück, wenn das Objekt „ lhs “ mit „ 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.