Auf dieser Seite

QJsonObject::iterator Class

class QJsonObject::iterator

Die Klasse „ QJsonObject::iterator “ stellt einen nicht-konstanten Iterator im STL-Stil für „ QJsonObject “ bereit. Mehr...

QJsonObject::iterator – Vergleiche

KategorieVergleichbare Typen
starkQJsonObject::iterator
strongQJsonObject::const_iterator.

Öffentliche Typen

Öffentliche Funktionen

iterator()
iterator(const QJsonObject::iterator &other)
QString key() const
(since 6.10) QAnyStringView keyView() const
QJsonValueRef value() const
QJsonValueRef operator*() const
QJsonObject::iterator operator+(qsizetype j) const
QJsonObject::iterator &operator++()
QJsonObject::iterator operator++(int)
QJsonObject::iterator &operator+=(qsizetype j)
qsizetype operator-(QJsonObject::iterator other) const
QJsonObject::iterator operator-(qsizetype j) const
QJsonObject::iterator &operator--()
QJsonObject::iterator operator--(int)
QJsonObject::iterator &operator-=(qsizetype j)
QJsonValueRef *operator->()
const QJsonValueConstRef *operator->() const
QJsonValueRef operator[](qsizetype j) const
bool operator!=(const QJsonObject::iterator &lhs, const QJsonObject::const_iterator &rhs)
bool operator!=(const QJsonObject::iterator &lhs, const QJsonObject::iterator &rhs)
bool operator<(const QJsonObject::iterator &lhs, const QJsonObject::const_iterator &rhs)
bool operator<(const QJsonObject::iterator &lhs, const QJsonObject::iterator &rhs)
bool operator<=(const QJsonObject::iterator &lhs, const QJsonObject::const_iterator &rhs)
bool operator<=(const QJsonObject::iterator &lhs, const QJsonObject::iterator &rhs)
bool operator==(const QJsonObject::iterator &lhs, const QJsonObject::const_iterator &rhs)
bool operator==(const QJsonObject::iterator &lhs, const QJsonObject::iterator &rhs)
bool operator>(const QJsonObject::iterator &lhs, const QJsonObject::const_iterator &rhs)
bool operator>(const QJsonObject::iterator &lhs, const QJsonObject::iterator &rhs)
bool operator>=(const QJsonObject::iterator &lhs, const QJsonObject::const_iterator &rhs)
bool operator>=(const QJsonObject::iterator &lhs, const QJsonObject::iterator &rhs)

Ausführliche Beschreibung

QJsonObject::iterator ermöglicht es Ihnen, eine „ QJsonObject “ zu durchlaufen und den unter einem bestimmten Schlüssel gespeicherten Wert (jedoch nicht den Schlüssel) zu ändern. Wenn Sie einen `const QJsonObject` durchlaufen möchten, sollten Sie ` QJsonObject::const_iterator` verwenden. Es ist generell empfehlenswert, ` QJsonObject::const_iterator ` auch für einen nicht-konstanten ` QJsonObject ` zu verwenden, es sei denn, Sie müssen den ` QJsonObject ` über den Iterator ändern. Konstante Iteratoren sind etwas schneller und verbessern die Lesbarkeit des Codes.

Der Standardkonstruktor QJsonObject::iterator erstellt einen nicht initialisierten Iterator. Sie müssen ihn mit einer QJsonObject -Funktion wie QJsonObject::begin(), QJsonObject::end() oder QJsonObject::find() initialisieren, bevor Sie mit der Iteration beginnen können.

Für dasselbe Objekt können mehrere Iteratoren verwendet werden. Vorhandene Iteratoren werden jedoch ungültig, sobald das Objekt geändert wird.

Siehe auch „ QJsonObject::const_iterator“ , „JSON-Unterstützung in Qt“ sowie „Speichern und Laden eines Spiels“.

Dokumentation zu Mitgliedstypen

iterator::iterator_category

Ein Synonym für „std::random_access_iterator_tag“, das angibt, dass es sich bei diesem Iterator um einen Random-Access-Iterator handelt.

Hinweis: In Qt-Versionen vor 5.6 wurde dies versehentlich auf „std::bidirectional_iterator_tag“ gesetzt.

Dokumentation zu den Mitgliedsfunktionen

iterator::iterator()

Erzeugt einen nicht initialisierten Iterator.

Funktionen wie ` key()`, ` value()` und `operator++()` dürfen nicht für einen nicht initialisierten Iterator aufgerufen werden. Verwenden Sie `operator=()`, um ihm vor der Verwendung einen Wert zuzuweisen.

Siehe auch QJsonObject::begin() und QJsonObject::end().

[constexpr noexcept default] iterator::iterator(const QJsonObject::iterator &other)

Erstellt eine Instanz von „ iterator “ durch Kopieren.

QString iterator::key() const

Gibt den Schlüssel des aktuellen Elements zurück.

Es gibt keine direkte Möglichkeit, den Schlüssel eines Elements über einen Iterator zu ändern, allerdings ist dies durch den Aufruf von ` QJsonObject::erase()` gefolgt von ` QJsonObject::insert()` möglich.

Siehe auch „ value()“ und „ keyView()“.

[since 6.10] QAnyStringView iterator::keyView() const

Gibt den Schlüssel des aktuellen Elements als ` QAnyStringView` zurück. Diese Funktion reserviert keinen Speicher.

Da „ QJsonObject “ Schlüssel in US-ASCII, UTF-8 oder UTF-16 speichert, kann die zurückgegebene „ QAnyStringView “-Zeichenkette in einer dieser Kodierungen vorliegen.

Es gibt keine direkte Möglichkeit, den Schlüssel eines Elements über einen Iterator zu ändern, dies ist jedoch möglich, indem man nacheinander ` QJsonObject::erase()` und ` QJsonObject::insert()` aufruft.

Diese Funktion wurde in Qt 6.10 eingeführt.

Siehe auch ` key()` und ` value()`.

QJsonValueRef iterator::value() const

Gibt eine veränderbare Referenz auf den Wert des aktuellen Elements zurück.

Sie können den Wert eines Elements ändern, indem Sie `value()` auf der linken Seite einer Zuweisung verwenden.

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 key(), keyView() und operator*().

QJsonValueRef iterator::operator*() const

Gibt eine veränderbare Referenz auf den Wert des aktuellen Elements zurück.

Entspricht ` value()`.

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 key() und keyView().

QJsonObject::iterator iterator::operator+(qsizetype j) const

Gibt einen Iterator für das Element zurück, das sich „ j “ Positionen vor diesem Iterator befindet. Ist „ j “ negativ, bewegt sich der Iterator rückwärts.

Siehe auch ` operator-()`.

QJsonObject::iterator &iterator::operator++()

Der Präfixoperator „ ++ “, ++i, springt mit dem Iterator zum nächsten Element im Objekt und gibt einen Iterator auf das neue aktuelle Element zurück.

Der Aufruf dieser Funktion für ` QJsonObject::end()` führt zu undefinierten Ergebnissen.

Siehe auch operator--().

QJsonObject::iterator iterator::operator++(int)

Der Postfix-Operator „ ++ “ ( i++) verschiebt den Iterator zum nächsten Element des Objekts und gibt einen Iterator auf das zuvor aktuelle Element zurück.

Dies ist eine überladene Funktion.

QJsonObject::iterator &iterator::operator+=(qsizetype j)

Bewegt den Iterator um j Elemente weiter. Ist j negativ, bewegt sich der Iterator rückwärts.

Siehe auch ` operator-=()` und ` operator+()`.

qsizetype iterator::operator-(QJsonObject::iterator other) const

Gibt die Anzahl der Elemente zwischen dem Element zurück, auf das „ other “ verweist, und dem Element, auf das dieser Iterator verweist.

QJsonObject::iterator iterator::operator-(qsizetype j) const

Gibt einen Iterator für das Element zurück, das sich an der Position „ j “ rückwärts vom aktuellen Iterator befindet. Ist „ j “ negativ, bewegt sich der Iterator vorwärts.

Siehe auch ` operator+()`.

QJsonObject::iterator &iterator::operator--()

Der Präfixoperator „ -- “, --i, macht das vorangehende Element zum aktuellen Element und gibt einen Iterator zurück, der auf das neue aktuelle Element verweist.

Der Aufruf dieser Funktion mit ` QJsonObject::begin()` führt zu undefinierten Ergebnissen.

Siehe auch ` operator++()`.

QJsonObject::iterator iterator::operator--(int)

Der Postfix-Operator „ -- “ ( i--) macht das vorangehende Element zum aktuellen Element und gibt einen Iterator zurück, der auf das zuvor aktuelle Element verweist.

Dies ist eine überladene Funktion.

QJsonObject::iterator &iterator::operator-=(qsizetype j)

Bewegt den Iterator um j Elemente zurück. Ist j negativ, bewegt sich der Iterator vorwärts.

Siehe auch operator+=() und operator-().

QJsonValueRef *iterator::operator->()

Gibt einen Zeiger auf eine veränderbare Referenz auf das aktuelle Element zurück.

const QJsonValueConstRef *iterator::operator->() const

Gibt einen Zeiger auf eine konstante Referenz auf das aktuelle Element zurück.

QJsonValueRef iterator::operator[](qsizetype j) const

Gibt eine veränderbare Referenz auf das Element am Offset j aus dem Element zurück, auf das dieser Iterator zeigt (das Element an der Position *this + j).

Diese Funktion wird bereitgestellt, damit sich QJsonObject -Iteratoren wie C++-Zeiger verhalten.

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 operator+().

Verwandte Nicht-Mitglieder

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

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

Gibt „ true “ zurück, wenn „ lhs “ auf ein anderes Element verweist als der Iterator „ rhs “; andernfalls wird „ false “ zurückgegeben.

Siehe auch operator==().

[noexcept] bool operator<(const QJsonObject::iterator &lhs, const QJsonObject::const_iterator &rhs)

[noexcept] bool operator<(const QJsonObject::iterator &lhs, const QJsonObject::iterator &rhs)

Gibt „ true “ zurück, wenn das Element, auf das der Iterator „ lhs “ verweist, kleiner ist als das Element, auf das der Iterator „ rhs “ verweist.

[noexcept] bool operator<=(const QJsonObject::iterator &lhs, const QJsonObject::const_iterator &rhs)

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

Gibt „ true “ zurück, wenn das Element, auf das der Iterator „ lhs “ verweist, kleiner oder gleich dem Element ist, auf das der Iterator „ rhs “ verweist.

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

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

Gibt „ true “ zurück, wenn „ lhs “ auf dasselbe Element verweist wie der Iterator „ rhs “; andernfalls wird „ false “ zurückgegeben.

Siehe auch operator!=().

[noexcept] bool operator>(const QJsonObject::iterator &lhs, const QJsonObject::const_iterator &rhs)

[noexcept] bool operator>(const QJsonObject::iterator &lhs, const QJsonObject::iterator &rhs)

Gibt „ true “ zurück, wenn das Element, auf das der Iterator „ lhs “ verweist, größer ist als das Element, auf das der Iterator „ rhs “ verweist.

[noexcept] bool operator>=(const QJsonObject::iterator &lhs, const QJsonObject::const_iterator &rhs)

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

Gibt „ true “ zurück, wenn das Element, auf das der Iterator „ lhs “ verweist, größer oder gleich dem Element ist, auf das der Iterator „ rhs “ verweist.

© 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.