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 |
- Liste aller Mitglieder, einschließlich geerbter Mitglieder
- QJsonObject ist Teil der JSON-Unterstützung in Qt und der implizit gemeinsam genutzten Klassen.
Hinweis: Alle Funktionen dieser Klasse sind reentrant.
QJsonObject-Vergleiche
| Kategorie | Vergleichbare Typen |
|---|---|
| Gleichheit | QJsonObject |
| Gleichheit | QJsonValue und QJsonValueConstRef. |
Öffentliche Typen
| class | const_iterator |
| class | iterator |
| ConstIterator | |
| Iterator | |
(since 6.10) | const_key_value_iterator |
| key_type | |
(since 6.10) | key_value_iterator |
| mapped_type | |
| size_type |
Ö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) |
Verwandte Nicht-Mitglieder
| 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.