QJsonObject::iterator Class
class QJsonObject::iteratorLa clase QJsonObject::iterator proporciona un iterador no-const de estilo STL para QJsonObject. Más...
- Lista de todos los miembros, incluyendo los heredados
- iterator es parte de JSON Support en Qt.
Esta clase es fuertemente comparable.
Esta clase es fuertemente comparable con QJsonObject::const_iterator.
Tipos Públicos
Funciones Públicas
| 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 |
No miembros relacionados
| 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) |
Descripción detallada
QJsonObject::iterator permite iterar sobre un QJsonObject y modificar el valor (pero no la clave) almacenado bajo una clave concreta. Si desea iterar sobre una const QJsonObject, debe utilizar QJsonObject::const_iterator. Generalmente es una buena práctica usar QJsonObject::const_iterator sobre un QJsonObject no-const también, a menos que necesite cambiar el QJsonObject a través del iterador. Los iteradores const son ligeramente más rápidos y mejoran la legibilidad del código.
El constructor por defecto QJsonObject::iterator crea un iterador no inicializado. Debes inicializarlo usando una función QJsonObject como QJsonObject::begin(), QJsonObject::end(), o QJsonObject::find() antes de que puedas empezar a iterar.
Se pueden utilizar múltiples iteradores en el mismo objeto. Sin embargo, los iteradores existentes quedarán colgados una vez que se modifique el objeto.
Ver también QJsonObject::const_iterator, Soporte JSON en Qt, y Guardar y Cargar un Juego.
Documentación de Tipos de Miembros
iterator::iterator_category
Un sinónimo de std::random_access_iterator_tag que indica que este iterador es un iterador de acceso aleatorio.
Nota: En versiones de Qt anteriores a la 5.6, esto se estableció por error a std::bidirectional_iterator_tag.
Documentación de las funciones miembro
iterator::iterator()
Construye un iterador no inicializado.
Funciones como key(), value(), y operator++() no deben ser llamadas en un iterador no inicializado. Utilice operator=() para asignarle un valor antes de utilizarlo.
Véase también QJsonObject::begin() y QJsonObject::end().
QString iterator::key() const
Devuelve la clave del elemento actual.
No hay forma directa de cambiar la clave de un elemento a través de un iterador, aunque puede hacerse llamando a QJsonObject::erase() seguido de QJsonObject::insert().
Véase también value() y keyView().
[since 6.10] QAnyStringView iterator::keyView() const
Devuelve la clave del elemento actual como QAnyStringView. Esta función no asigna memoria.
Dado que QJsonObject almacena claves en US-ASCII, UTF-8 o UTF-16, el QAnyStringView devuelto puede estar en cualquiera de estas codificaciones.
No hay forma directa de cambiar la clave de un elemento a través de un iterador, aunque puede hacerse llamando a QJsonObject::erase() seguido de QJsonObject::insert().
Esta función se introdujo en Qt 6.10.
Véase también key() y value().
QJsonValueRef iterator::value() const
Devuelve una referencia modificable al valor del elemento actual.
Puede modificar el valor de un elemento utilizando value() en el lado izquierdo de una asignación.
El valor devuelto es del tipo QJsonValueRef, una clase auxiliar para QJsonArray y QJsonObject. Cuando se obtiene un objeto de tipo QJsonValueRef, se puede utilizar como si fuera una referencia a un QJsonValue. Si se le asigna, la asignación se aplicará al elemento del QJsonArray o QJsonObject del que se obtuvo la referencia.
Véase también key(), keyView() y operator*().
QJsonValueRef iterator::operator*() const
Devuelve una referencia modificable al valor del elemento actual.
Igual que value().
El valor devuelto es de tipo QJsonValueRef, una clase auxiliar para QJsonArray y QJsonObject. Cuando se obtiene un objeto de tipo QJsonValueRef, se puede utilizar como si fuera una referencia a un QJsonValue. Si se le asigna, la asignación se aplicará al elemento del QJsonArray o QJsonObject del que se obtuvo la referencia.
Véase también key() y keyView().
QJsonObject::iterator iterator::operator+(qsizetype j) const
Devuelve un iterador al elemento en j posiciones hacia adelante desde este iterador. Si j es negativo, el iterador va hacia atrás.
Véase también operator-().
QJsonObject::iterator &iterator::operator++()
El operador de prefijo ++, ++i, avanza el iterador al siguiente elemento del objeto y devuelve un iterador al nuevo elemento actual.
Llamar a esta función en QJsonObject::end() conduce a resultados indefinidos.
Véase también operator--().
QJsonObject::iterator iterator::operator++(int)
El operador postfijo ++, i++, avanza el iterador al siguiente elemento del objeto y devuelve un iterador al elemento previamente actual.
Se trata de una función sobrecargada.
QJsonObject::iterator &iterator::operator+=(qsizetype j)
Avanza el iterador en j elementos. Si j es negativo, el iterador retrocede.
Véase también operator-=() y operator+().
qsizetype iterator::operator-(QJsonObject::iterator other) const
Devuelve el número de elementos entre el elemento apuntado por other y el elemento apuntado por este iterador.
QJsonObject::iterator iterator::operator-(qsizetype j) const
Devuelve un iterador al elemento en j posiciones hacia atrás desde este iterador. Si j es negativo, el iterador va hacia adelante.
Véase también operator+().
QJsonObject::iterator &iterator::operator--()
El operador prefijo --, --i, hace actual el elemento precedente y devuelve un iterador que apunta al nuevo elemento actual.
Llamar a esta función en QJsonObject::begin() conduce a resultados indefinidos.
Véase también operator++().
QJsonObject::iterator iterator::operator--(int)
El operador postfijo --, i--, hace actual el elemento precedente y devuelve un iterador que apunta al elemento previamente actual.
Se trata de una función sobrecargada.
QJsonObject::iterator &iterator::operator-=(qsizetype j)
Hace que el iterador retroceda en j elementos. Si j es negativo, el iterador avanza.
Véase también operator+=() y operator-().
QJsonValueRef *iterator::operator->()
Devuelve un puntero a una referencia modificable al elemento actual.
const QJsonValueConstRef *iterator::operator->() const
Devuelve un puntero a una referencia constante al elemento actual.
QJsonValueRef iterator::operator[](qsizetype j) const
Devuelve una referencia modificable al elemento en el desplazamiento j desde el elemento apuntado por este iterador (el elemento en la posición *this + j).
Esta función se proporciona para hacer que los iteradores QJsonObject se comporten como punteros C++.
El valor de retorno es del tipo QJsonValueRef, una clase de ayuda para QJsonArray y QJsonObject. Cuando se obtiene un objeto de tipo QJsonValueRef, se puede utilizar como si fuera una referencia a un QJsonValue. Si se le asigna, la asignación se aplicará al elemento del QJsonArray o QJsonObject del que se obtuvo la referencia.
Véase también operator+().
No miembros relacionados
[noexcept] bool operator!=(const QJsonObject::iterator &lhs, const QJsonObject::iterator &rhs)
[noexcept] bool operator!=(const QJsonObject::iterator &lhs, const QJsonObject::const_iterator &rhs)
Devuelve true si lhs apunta a un elemento distinto del iterador rhs; en caso contrario devuelve false.
Véase también operator==().
[noexcept] bool operator<(const QJsonObject::iterator &lhs, const QJsonObject::iterator &rhs)
[noexcept] bool operator<(const QJsonObject::iterator &lhs, const QJsonObject::const_iterator &rhs)
Devuelve true si el elemento apuntado por el iterador lhs es menor que el elemento apuntado por el iterador rhs.
[noexcept] bool operator<=(const QJsonObject::iterator &lhs, const QJsonObject::iterator &rhs)
[noexcept] bool operator<=(const QJsonObject::iterator &lhs, const QJsonObject::const_iterator &rhs)
Devuelve true si el elemento apuntado por el iterador lhs es menor o igual que el elemento apuntado por el iterador rhs.
[noexcept] bool operator==(const QJsonObject::iterator &lhs, const QJsonObject::iterator &rhs)
[noexcept] bool operator==(const QJsonObject::iterator &lhs, const QJsonObject::const_iterator &rhs)
Devuelve true si lhs apunta al mismo elemento que el iterador rhs; en caso contrario devuelve false.
Véase también operator!=().
[noexcept] bool operator>(const QJsonObject::iterator &lhs, const QJsonObject::iterator &rhs)
[noexcept] bool operator>(const QJsonObject::iterator &lhs, const QJsonObject::const_iterator &rhs)
Devuelve true si el elemento apuntado por el iterador lhs es mayor que el elemento apuntado por el iterador rhs.
[noexcept] bool operator>=(const QJsonObject::iterator &lhs, const QJsonObject::iterator &rhs)
[noexcept] bool operator>=(const QJsonObject::iterator &lhs, const QJsonObject::const_iterator &rhs)
Devuelve true si el elemento apuntado por el iterador lhs es mayor o igual que el elemento apuntado por el iterador 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.