Sur cette page

QJsonObject::iterator Class

class QJsonObject::iterator

La classe ` QJsonObject::iterator ` fournit un itérateur non-const de type STL pour ` QJsonObject`. En savoir plus...

Comparaisons de QJsonObject::iterator

CatégorieTypes comparables
strongQJsonObject::iterator
strongQJsonObject::const_iterator.

Types publics

Fonctions publiques

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)

Description détaillée

QJsonObject::iterator vous permet de parcourir un QJsonObject et de modifier la valeur (mais pas la clé) stockée sous une clé particulière. Si vous souhaitez parcourir un `const QJsonObject`, vous devez utiliser ` QJsonObject::const_iterator`. Il est généralement recommandé d'utiliser ` QJsonObject::const_iterator ` sur un ` QJsonObject ` non-const également, sauf si vous devez modifier l'QJsonObject via l'itérateur. Les itérateurs const sont légèrement plus rapides et améliorent la lisibilité du code.

Le constructeur par défaut QJsonObject::iterator crée un itérateur non initialisé. Vous devez l’initialiser à l’aide d’une fonction QJsonObject telle que QJsonObject::begin(), QJsonObject::end() ou QJsonObject::find() avant de pouvoir commencer l’itération.

Il est possible d’utiliser plusieurs itérateurs sur un même objet. Les itérateurs existants deviendront toutefois « pendants » dès que l’objet sera modifié.

Voir également QJsonObject::const_iterator, la prise en charge de JSON dans Qt, ainsi que la sauvegarde et le chargement d’une partie.

Documentation sur les types de membres

iterator::iterator_category

Synonyme de std::random_access_iterator_tag indiquant que cet itérateur est un itérateur à accès aléatoire.

Remarque : dans les versions de Qt antérieures à la version 5.6, cette valeur avait été définie par erreur sur std::bidirectional_iterator_tag.

Documentation des fonctions membres

iterator::iterator()

Crée un itérateur non initialisé.

Les fonctions telles que key(), value() et l'opérateur++() ne doivent pas être appelées sur un itérateur non initialisé. Utilisez l'opérateur=() pour lui attribuer une valeur avant de l'utiliser.

Voir également QJsonObject::begin() et QJsonObject::end().

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

Crée une instance de ` iterator` par copie.

QString iterator::key() const

Renvoie la clé de l'élément courant.

Il n'existe pas de moyen direct de modifier la clé d'un élément via un itérateur, bien que cela soit possible en appelant successivement les fonctions ` QJsonObject::erase()` puis ` QJsonObject::insert()`.

Voir également value() et keyView().

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

Renvoie la clé de l'élément actuel sous la forme d'un objet « QAnyStringView ». Cette fonction n'alloue pas de mémoire.

Étant donné que ` QJsonObject ` stocke les clés au format US-ASCII, UTF-8 ou UTF-16, l’ QAnyStringView e renvoyée peut être dans n’importe lequel de ces encodages.

Il n’existe pas de moyen direct de modifier la clé d’un élément via un itérateur, bien que cela soit possible en appelant successivement ` QJsonObject::erase()` puis ` QJsonObject::insert()`.

Cette fonction a été introduite dans Qt 6.10.

Voir également key() et value().

QJsonValueRef iterator::value() const

Renvoie une référence modifiable à la valeur de l'élément courant.

Vous pouvez modifier la valeur d'un élément en utilisant la fonction value() à gauche d'une affectation.

La valeur renvoyée est de type QJsonValueRef, une classe d'aide pour QJsonArray et QJsonObject. Lorsque vous obtenez un objet de type QJsonValueRef, vous pouvez l'utiliser comme s'il s'agissait d'une référence à un QJsonValue. Si vous lui attribuez une valeur, l'affectation s'appliquera à l'élément du QJsonArray ou du QJsonObject à partir duquel vous avez obtenu la référence.

Voir également key(), keyView() et operator*().

QJsonValueRef iterator::operator*() const

Renvoie une référence modifiable à la valeur de l'élément actuel.

Identique à ` value()`.

La valeur renvoyée est de type ` QJsonValueRef`, une classe d'aide pour ` QJsonArray ` et ` QJsonObject`. Lorsque vous obtenez un objet de type ` QJsonValueRef`, vous pouvez l'utiliser comme s'il s'agissait d'une référence à un ` QJsonValue`. Si vous lui attribuez une valeur, l'affectation s'appliquera à l'élément de ` QJsonArray ` ou ` QJsonObject ` à partir duquel vous avez obtenu la référence.

Voir également key() et keyView().

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

Renvoie un itérateur pointant vers l'élément situé à j positions en avant par rapport à cet itérateur. Si j est négatif, l'itérateur se déplace vers l'arrière.

Voir également operator-().

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

L'opérateur préfixe « ++ », ++i, fait avancer l'itérateur vers l'élément suivant de l'objet et renvoie un itérateur pointant vers le nouvel élément courant.

L'appel de cette fonction sur ` QJsonObject::end()` conduit à des résultats indéfinis.

Voir également operator--().

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

L'opérateur d'++ postfixe, i++, fait avancer l'itérateur vers l'élément suivant de l'objet et renvoie un itérateur vers l'élément précédemment sélectionné.

Il s'agit d'une fonction surchargée.

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

Fait avancer l’itérateur de j éléments. Si j est négatif, l’itérateur recule.

Voir aussi operator-=() et operator+().

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

Renvoie le nombre d'éléments compris entre l'élément pointé par ` other ` et celui pointé par cet itérateur.

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

Renvoie un itérateur pointant vers l'élément situé à j positions en arrière par rapport à cet itérateur. Si j est négatif, l'itérateur se déplace vers l'avant.

Voir également operator+().

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

L'opérateur préfixe « -- », --i, définit l'élément précédent comme élément courant et renvoie un itérateur pointant vers ce nouvel élément courant.

L'appel de cette fonction sur ` QJsonObject::begin()` conduit à des résultats indéfinis.

Voir également operator++().

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

L'opérateur postfixe « -- », i--, désigne l'élément précédent comme élément courant et renvoie un itérateur pointant vers l'élément qui était auparavant l'élément courant.

Il s'agit d'une fonction surchargée.

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

Fait reculer l'itérateur de j éléments. Si j est négatif, l'itérateur avance.

Voir également operator+=() et operator-().

QJsonValueRef *iterator::operator->()

Renvoie un pointeur vers une référence modifiable pointant vers l'élément actuel.

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

Renvoie un pointeur vers une référence constante à l'élément actuel.

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

Renvoie une référence modifiable à l'élément situé à l'offset j à partir de l'élément pointé par cet itérateur (l'élément situé à la position *this + j).

Cette fonction est fournie pour permettre aux itérateurs QJsonObject de se comporter comme des pointeurs C++.

La valeur renvoyée est de type QJsonValueRef, une classe auxiliaire pour QJsonArray et QJsonObject. Lorsque vous obtenez un objet de type QJsonValueRef, vous pouvez l'utiliser comme s'il s'agissait d'une référence à un QJsonValue. Si vous lui attribuez une valeur, l'affectation s'appliquera à l'élément situé à l'adresse QJsonArray ou QJsonObject à partir duquel vous avez obtenu la référence.

Voir également operator+().

Éléments non membres associés

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

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

Renvoie ` true ` si ` lhs ` pointe vers un élément différent de celui indiqué par l'itérateur ` rhs ` ; sinon, renvoie ` false`.

Voir également operator==().

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

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

Renvoie « true » si l'élément pointé par l'itérateur « lhs » est antérieur à l'élément pointé par l'itérateur « rhs ».

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

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

Renvoie ` true ` si l'élément pointé par l'itérateur ` lhs ` est inférieur ou égal à l'élément pointé par l'itérateur ` rhs `.

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

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

Renvoie ` true ` si ` lhs ` pointe vers le même élément que l'itérateur ` rhs ` ; sinon, renvoie ` false`.

Voir également operator!=().

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

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

Renvoie ` true ` si l'élément pointé par l'itérateur ` lhs ` est supérieur à l'élément pointé par l'itérateur ` rhs `.

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

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

Renvoie « true » si l'élément pointé par l'itérateur lhs est supérieur ou égal à l'élément pointé par l'itérateur rhs.

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