QJsonObject::iterator Class
class QJsonObject::iteratorLa classe QJsonObject::iterator fournit un itérateur non-const de style STL pour QJsonObject. Plus d'informations...
- Liste de tous les membres, y compris les membres hérités
- iterator fait partie du support JSON dans Qt.
Cette classe est fortement comparable.
Cette classe est fortement comparable à QJsonObject::const_iterator.
Types publics
Fonctions publiques
| iterator() | |
| 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 |
Non-membres apparentés
| 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 permet d'itérer sur un site QJsonObject et de modifier la valeur (mais pas la clé) stockée sous une clé particulière. Si vous souhaitez itérer sur un const QJsonObject, vous devez utiliser QJsonObject::const_iterator. Il est généralement conseillé d'utiliser QJsonObject::const_iterator sur un QJsonObject non constant, à moins que vous n'ayez besoin de modifier le QJsonObject par l'intermédiaire de 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.
Plusieurs itérateurs peuvent être utilisés sur le même objet. Les itérateurs existants deviendront cependant suspendus lorsque l'objet sera modifié.
Voir aussi QJsonObject::const_iterator, JSON Support in Qt, et Saving and Loading a Game.
Documentation sur les types de membres
iterator::iterator_category
Un synonyme de std::random_access_iterator_tag indiquant que cet itérateur est un itérateur à accès aléatoire.
Note : Dans les versions de Qt antérieures à la 5.6, ce paramètre était défini par erreur à std::bidirectional_iterator_tag.
Documentation des fonctions membres
iterator::iterator()
Construit un itérateur non initialisé.
Les fonctions telles que key(), value() et operator++() ne doivent pas être appelées sur un itérateur non initialisé. Utilisez operator=() pour lui attribuer une valeur avant de l'utiliser.
Voir aussi QJsonObject::begin() et QJsonObject::end().
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 par l'intermédiaire d'un itérateur, mais il est possible de le faire en appelant QJsonObject::erase() suivi de QJsonObject::insert().
Voir aussi value() et keyView().
[since 6.10] QAnyStringView iterator::keyView() const
Renvoie la clé de l'élément en cours sous la forme d'un fichier QAnyStringView. Cette fonction n'alloue pas de mémoire.
Comme QJsonObject stocke les clés en US-ASCII, UTF-8 ou UTF-16, le QAnyStringView renvoyé peut être dans n'importe lequel de ces encodages.
Il n'y a pas de moyen direct de changer la clé d'un élément à travers un itérateur, bien que cela puisse être fait en appelant QJsonObject::erase() suivi de QJsonObject::insert().
Cette fonction a été introduite dans Qt 6.10.
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 value() du côté gauche d'une affectation.
La valeur de retour 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 à QJsonValue. Si vous l'affectez, l'affectation s'appliquera à l'élément de QJsonArray ou 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 en cours.
Identique à value().
La valeur de retour 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 objet QJsonValue. Si vous l'assignez, l'assignation s'appliquera à l'élément dans 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 vers l'élément situé à j positions en avant de cet itérateur. Si j est négatif, l'itérateur revient en arrière.
Voir aussi operator-().
QJsonObject::iterator &iterator::operator++()
L'opérateur préfixe ++, ++i, fait passer l'itérateur à l'élément suivant de l'objet et renvoie un itérateur vers le nouvel élément courant.
L'appel de cette fonction sur QJsonObject::end() conduit à des résultats indéfinis.
Voir aussi operator--().
QJsonObject::iterator iterator::operator++(int)
L'opérateur postfixe ++, i++, fait passer l'itérateur à l'élément suivant de l'objet et renvoie un itérateur à l'élément courant précédent.
Il s'agit d'une fonction surchargée.
QJsonObject::iterator &iterator::operator+=(qsizetype j)
Avance l'itérateur de j éléments. Si j est négatif, l'itérateur recule.
Voir également operator-=() et operator+().
qsizetype iterator::operator-(QJsonObject::iterator other) const
Renvoie le nombre d'éléments entre l'élément pointé par other et l'élément pointé par cet itérateur.
QJsonObject::iterator iterator::operator-(qsizetype j) const
Renvoie un itérateur vers l'élément situé à j positions en arrière de cet itérateur. Si j est négatif, l'itérateur avance.
Voir aussi operator+().
QJsonObject::iterator &iterator::operator--()
L'opérateur préfixe --, --i, rend l'élément précédent courant et renvoie un itérateur pointant vers le nouvel élément courant.
L'appel de cette fonction sur QJsonObject::begin() conduit à des résultats indéfinis.
Voir aussi operator++().
QJsonObject::iterator iterator::operator--(int)
L'opérateur postfixe --, i--, rend l'élément précédent courant et renvoie un itérateur pointant vers l'élément courant précédent.
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 aussi operator+=() et operator-().
QJsonValueRef *iterator::operator->()
Renvoie un pointeur sur une référence modifiable de l'élément en cours.
const QJsonValueConstRef *iterator::operator->() const
Renvoie un pointeur sur 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 de l'élément pointé par cet itérateur (l'élément situé à la position *this + j).
Cette fonction est fournie pour que les itérateurs QJsonObject se comportent comme des pointeurs C++.
La valeur de retour 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 l'affectez, l'affectation s'appliquera à l'élément du QJsonArray ou du QJsonObject à partir duquel vous avez obtenu la référence.
Voir également operator+().
Non-membres apparentés
[noexcept] bool operator!=(const QJsonObject::iterator &lhs, const QJsonObject::iterator &rhs)
[noexcept] bool operator!=(const QJsonObject::iterator &lhs, const QJsonObject::const_iterator &rhs)
Renvoie true si lhs pointe vers un élément différent de l'itérateur rhs; sinon, renvoie false.
Voir aussi operator==().
[noexcept] bool operator<(const QJsonObject::iterator &lhs, const QJsonObject::iterator &rhs)
[noexcept] bool operator<(const QJsonObject::iterator &lhs, const QJsonObject::const_iterator &rhs)
Renvoie true si l'élément désigné par l'itérateur lhs est inférieur à l'élément désigné par l'itérateur rhs.
[noexcept] bool operator<=(const QJsonObject::iterator &lhs, const QJsonObject::iterator &rhs)
[noexcept] bool operator<=(const QJsonObject::iterator &lhs, const QJsonObject::const_iterator &rhs)
Renvoie true si l'élément désigné par l'itérateur lhs est inférieur ou égal à l'élément désigné par l'itérateur rhs.
[noexcept] bool operator==(const QJsonObject::iterator &lhs, const QJsonObject::iterator &rhs)
[noexcept] bool operator==(const QJsonObject::iterator &lhs, const QJsonObject::const_iterator &rhs)
Renvoie true si lhs pointe sur le même élément que l'itérateur rhs; sinon, renvoie false.
Voir aussi operator!=().
[noexcept] bool operator>(const QJsonObject::iterator &lhs, const QJsonObject::iterator &rhs)
[noexcept] bool operator>(const QJsonObject::iterator &lhs, const QJsonObject::const_iterator &rhs)
Renvoie true si l'élément désigné par l'itérateur lhs est supérieur à l'élément désigné par l'itérateur rhs.
[noexcept] bool operator>=(const QJsonObject::iterator &lhs, const QJsonObject::iterator &rhs)
[noexcept] bool operator>=(const QJsonObject::iterator &lhs, const QJsonObject::const_iterator &rhs)
Renvoie true si l'élément désigné par l'itérateur lhs est supérieur ou égal à l'élément désigné 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.