En esta página

QJsonObject::iterator Class

class QJsonObject::iterator

La clase QJsonObject::iterator proporciona un iterador no-const de estilo STL para QJsonObject. Más...

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