QJsonObject Class
La clase QJsonObject encapsula un objeto JSON. Más...
| Cabecera: | #include <QJsonObject> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS Core)target_link_libraries(mytarget PRIVATE Qt6::Core) |
| qmake: | QT += core |
- Lista de todos los miembros, incluyendo los heredados
- QJsonObject es parte de Soporte JSON en Qt y Clases Implícitamente Compartidas.
Esta clase es comparable en igualdad de condiciones.
Esta clase es comparable con QJsonValue y QJsonValueConstRef.
Nota: Todas las funciones de esta clase son reentrantes.
Tipos públicos
| class | const_iterator |
| class | iterator |
| ConstIterator | |
| Iterator | |
(since 6.10) | const_key_value_iterator |
| key_type | |
(since 6.10) | key_value_iterator |
| mapped_type | |
| size_type |
Funciones Públicas
| QJsonObject() | |
| QJsonObject(std::initializer_list<std::pair<QString, QJsonValue>> args) | |
| QJsonObject(const QJsonObject &other) | |
| QJsonObject(QJsonObject &&other) | |
| ~QJsonObject() | |
(since 6.10) auto | asKeyValueRange() && |
(since 6.10) auto | asKeyValueRange() & |
(since 6.10) auto | asKeyValueRange() const && |
(since 6.10) auto | asKeyValueRange() const & |
| QJsonObject::iterator | begin() |
| QJsonObject::const_iterator | begin() const |
| QJsonObject::const_iterator | constBegin() const |
| QJsonObject::const_iterator | constEnd() const |
| QJsonObject::const_iterator | constFind(const QString &key) const |
| QJsonObject::const_iterator | constFind(QLatin1StringView key) const |
| QJsonObject::const_iterator | constFind(QStringView key) const |
(since 6.10) QJsonObject::const_key_value_iterator | constKeyValueBegin() const |
(since 6.10) QJsonObject::const_key_value_iterator | constKeyValueEnd() const |
| bool | contains(const QString &key) const |
| bool | contains(QLatin1StringView key) const |
| bool | contains(QStringView key) const |
| qsizetype | count() const |
| bool | empty() const |
| QJsonObject::iterator | end() |
| QJsonObject::const_iterator | end() const |
| QJsonObject::iterator | erase(QJsonObject::iterator it) |
| QJsonObject::iterator | find(const QString &key) |
| QJsonObject::iterator | find(QLatin1StringView key) |
| QJsonObject::iterator | find(QStringView key) |
| QJsonObject::const_iterator | find(QLatin1StringView key) const |
| QJsonObject::const_iterator | find(QStringView key) const |
| QJsonObject::const_iterator | find(const QString &key) const |
| QJsonObject::iterator | insert(const QString &key, const QJsonValue &value) |
| QJsonObject::iterator | insert(QLatin1StringView key, const QJsonValue &value) |
| QJsonObject::iterator | insert(QStringView key, const QJsonValue &value) |
| bool | isEmpty() const |
(since 6.10) QJsonObject::key_value_iterator | keyValueBegin() |
(since 6.10) QJsonObject::const_key_value_iterator | keyValueBegin() const |
(since 6.10) QJsonObject::key_value_iterator | keyValueEnd() |
(since 6.10) QJsonObject::const_key_value_iterator | keyValueEnd() const |
| QStringList | keys() const |
| qsizetype | length() const |
| void | remove(const QString &key) |
| void | remove(QLatin1StringView key) |
| void | remove(QStringView key) |
| qsizetype | size() const |
| void | swap(QJsonObject &other) |
| QJsonValue | take(const QString &key) |
| QJsonValue | take(QLatin1StringView key) |
| QJsonValue | take(QStringView key) |
| QVariantHash | toVariantHash() const |
| QVariantMap | toVariantMap() const |
| QJsonValue | value(const QString &key) const |
| QJsonValue | value(QLatin1StringView key) const |
| QJsonValue | value(QStringView key) const |
| QJsonObject & | operator=(QJsonObject &&other) |
| QJsonObject & | operator=(const QJsonObject &other) |
| QJsonValueRef | operator[](const QString &key) |
| QJsonValue | operator[](const QString &key) const |
| QJsonValueRef | operator[](QLatin1StringView key) |
| QJsonValueRef | operator[](QStringView key) |
| QJsonValue | operator[](QLatin1StringView key) const |
| QJsonValue | operator[](QStringView key) const |
Miembros públicos estáticos
| QJsonObject | fromVariantHash(const QVariantHash &hash) |
| QJsonObject | fromVariantMap(const QVariantMap &map) |
No miembros relacionados
| bool | operator!=(const QJsonObject &lhs, const QJsonObject &rhs) |
| bool | operator==(const QJsonObject &lhs, const QJsonObject &rhs) |
Descripción detallada
Un objeto JSON es una lista de pares clave-valor, donde las claves son cadenas únicas y los valores están representados por un QJsonValue.
Un QJsonObject puede convertirse a y desde un QVariantMap. Desde él se puede consultar el número de pares (clave, valor) con entradas size(), insert() y remove() e iterar sobre su contenido utilizando el patrón iterador estándar de C++.
QJsonObject es una clase implícitamente compartida, y comparte los datos con el documento a partir del cual se ha creado mientras no se esté modificando.
Puedes convertir el objeto a y desde JSON basado en texto a través de QJsonDocument.
Ver también Soporte JSON en Qt y Guardar y Cargar un Juego.
Documentación de Tipos de Miembros
QJsonObject::ConstIterator
Qt-style sinónimo de QJsonObject::const_iterator.
QJsonObject::Iterator
Qt-style sinónimo de QJsonObject::iterator.
[since 6.10] QJsonObject::const_key_value_iterator
El typedef QJsonObject::const_key_value_iterator proporciona un iterador de estilo STL para QJsonObject.
QJsonObject::const_key_value_iterator es esencialmente lo mismo que QJsonObject::const_iterator con la diferencia de que operator*() devuelve un par clave/valor en lugar de un valor.
Este typedef se introdujo en Qt 6.10.
Véase también QKeyValueIterator.
QJsonObject::key_type
Typedef para QString. Se proporciona por compatibilidad con STL.
[since 6.10] QJsonObject::key_value_iterator
El tippedef QJsonObject::key_value_iterator proporciona un iterador de estilo STL para QJsonObject.
QJsonObject::key_value_iterator es esencialmente lo mismo que QJsonObject::iterator con la diferencia de que operator*() devuelve un par clave/valor en lugar de un valor.
Este typedef se introdujo en Qt 6.10.
Véase también QKeyValueIterator.
QJsonObject::mapped_type
Typedef para QJsonValue. Se proporciona por compatibilidad con STL.
QJsonObject::size_type
Typedef para qsizetype. Se proporciona por compatibilidad con STL.
Documentación de las funciones miembro
QJsonObject::QJsonObject()
Construye un objeto JSON vacío.
Véase también isEmpty().
QJsonObject::QJsonObject(std::initializer_list<std::pair<QString, QJsonValue>> args)
Construye una instancia QJsonObject inicializada a partir de la lista de inicialización args. Por ejemplo:
QJsonObject object { {"property1", 1}, {"property2", 2} };
[noexcept] QJsonObject::QJsonObject(const QJsonObject &other)
Crea una copia de other.
Dado que QJsonObject se comparte implícitamente, la copia es superficial mientras el objeto no se modifique.
[noexcept] QJsonObject::QJsonObject(QJsonObject &&other)
Move-construye un QJsonObject a partir de other.
[noexcept] QJsonObject::~QJsonObject()
Destruye el objeto.
[since 6.10] auto QJsonObject::asKeyValueRange() &
[since 6.10] auto QJsonObject::asKeyValueRange() const &
[since 6.10] auto QJsonObject::asKeyValueRange() &&
[since 6.10] auto QJsonObject::asKeyValueRange() const &&
Devuelve un objeto de rango que permite la iteración sobre este objeto como pares clave/valor. Por ejemplo, este objeto de rango se puede utilizar en un bucle for basado en rangos, en combinación con una declaración de vinculación estructurada:
QJsonObject obj{ { "algo", "es" },{ "en", "este" },{ "objeto", 42 },};for(auto [clave, valor]: obj.asKeyValueRange()) { qDebug() << key << "->" << value; if (key == "object") value = "!"; // modificar el objeto en esta clave} qDebug() << obj["object"]; // QJsonValue(string, "!")
Tenga en cuenta que el valor obtenido de esta forma es una referencia al del objeto. En concreto, al mutar el valor se modificará el propio objeto.
Cuando se llama a este método sobre rvalues (por ejemplo, sobre un temporal creado en el inializador de un bucle for ranged), el objeto será capturado en este rango.
Estas funciones se introdujeron en Qt 6.10.
Véase también QKeyValueIterator.
QJsonObject::iterator QJsonObject::begin()
Devuelve un iterador de estilo STL que apunta al primer elemento del objeto.
Véase también constBegin() y end().
QJsonObject::const_iterator QJsonObject::begin() const
Se trata de una función sobrecargada.
QJsonObject::const_iterator QJsonObject::constBegin() const
Devuelve un iterador const de estilo STL que apunta al primer elemento del objeto.
Véase también begin() y constEnd().
QJsonObject::const_iterator QJsonObject::constEnd() const
Devuelve un iterador const de estilo STL que apunta al elemento imaginario después del último elemento del objeto.
Véase también constBegin() y end().
QJsonObject::const_iterator QJsonObject::constFind(const QString &key) const
Devuelve un iterador constante que apunta al elemento con clave key en el mapa.
Si el mapa no contiene ningún elemento con la clave key, la función devuelve constEnd().
QJsonObject::const_iterator QJsonObject::constFind(QLatin1StringView key) const
Se trata de una función sobrecargada.
QJsonObject::const_iterator QJsonObject::constFind(QStringView key) const
Se trata de una función sobrecargada.
[since 6.10] QJsonObject::const_key_value_iterator QJsonObject::constKeyValueBegin() const
Devuelve un iterador const de estilo STL que apunta a la primera entrada del objeto.
Esta función se introdujo en Qt 6.10.
Véase también keyValueBegin().
[since 6.10] QJsonObject::const_key_value_iterator QJsonObject::constKeyValueEnd() const
Devuelve un iterador const de estilo STL que apunta a la entrada imaginaria después de la última entrada en el ibject.
Esta función se introdujo en Qt 6.10.
Véase también constKeyValueBegin().
bool QJsonObject::contains(const QString &key) const
Devuelve true si el objeto contiene la clave key.
Véase también insert(), remove() y take().
bool QJsonObject::contains(QLatin1StringView key) const
Se trata de una función sobrecargada.
bool QJsonObject::contains(QStringView key) const
Se trata de una función sobrecargada.
qsizetype QJsonObject::count() const
Igual que size().
bool QJsonObject::empty() const
Esta función se proporciona por compatibilidad con STL. Es equivalente a isEmpty(), devolviendo true si el objeto está vacío; en caso contrario devuelve false.
QJsonObject::iterator QJsonObject::end()
Devuelve un iterador estilo STL que apunta al elemento imaginario después del último elemento del objeto.
Véase también begin() y constEnd().
QJsonObject::const_iterator QJsonObject::end() const
Se trata de una función sobrecargada.
QJsonObject::iterator QJsonObject::erase(QJsonObject::iterator it)
Elimina del mapa el par (clave, valor) apuntado por el iterador it y devuelve un iterador al siguiente elemento del mapa.
Véase también remove().
QJsonObject::iterator QJsonObject::find(const QString &key)
Devuelve un iterador que apunta al elemento con clave key en el mapa.
Si el mapa no contiene ningún elemento con la clave key, la función devuelve end().
QJsonObject::iterator QJsonObject::find(QLatin1StringView key)
Se trata de una función sobrecargada.
QJsonObject::iterator QJsonObject::find(QStringView key)
Se trata de una función sobrecargada.
QJsonObject::const_iterator QJsonObject::find(QLatin1StringView key) const
Se trata de una función sobrecargada.
QJsonObject::const_iterator QJsonObject::find(QStringView key) const
Se trata de una función sobrecargada.
QJsonObject::const_iterator QJsonObject::find(const QString &key) const
Se trata de una función sobrecargada.
[static] QJsonObject QJsonObject::fromVariantHash(const QVariantHash &hash)
Convierte la variante hash hash en un QJsonObject.
Las claves de hash se utilizarán como claves del objeto JSON, y los valores de QVariant se convertirán en valores JSON.
Nota: La conversión desde QVariant no es completamente sin pérdidas. Consulte la documentación de QJsonValue::fromVariant() para obtener más información.
Véase también fromVariantMap(), toVariantHash(), y QJsonValue::fromVariant().
[static] QJsonObject QJsonObject::fromVariantMap(const QVariantMap &map)
Convierte el mapa de variantes map en un QJsonObject.
Las claves de map se utilizarán como claves del objeto JSON, y los valores de QVariant se convertirán en valores JSON.
Nota: La conversión desde QVariant no es completamente sin pérdidas. Consulte la documentación de QJsonValue::fromVariant() para obtener más información.
Véase también fromVariantHash(), toVariantMap(), y QJsonValue::fromVariant().
QJsonObject::iterator QJsonObject::insert(const QString &key, const QJsonValue &value)
Inserta un nuevo elemento con la clave key y el valor value.
Si ya existe un elemento con la clave key, el valor de ese elemento se sustituye por value.
Devuelve un iterador que apunta al elemento insertado.
Si el valor es QJsonValue::Undefined, se eliminará la clave del objeto. El iterador devuelto apuntará entonces a end().
Véase también remove(), take(), QJsonObject::iterator, y end().
QJsonObject::iterator QJsonObject::insert(QLatin1StringView key, const QJsonValue &value)
Se trata de una función sobrecargada.
QJsonObject::iterator QJsonObject::insert(QStringView key, const QJsonValue &value)
Se trata de una función sobrecargada.
bool QJsonObject::isEmpty() const
Devuelve true si el objeto está vacío. Es lo mismo que size() == 0.
Véase también size().
[since 6.10] QJsonObject::key_value_iterator QJsonObject::keyValueBegin()
Devuelve un iterador estilo STL que apunta a la primera entrada del objeto.
Esta función se introdujo en Qt 6.10.
Véase también keyValueEnd().
[since 6.10] QJsonObject::const_key_value_iterator QJsonObject::keyValueBegin() const
Devuelve un iterador const de estilo STL que apunta a la primera entrada del objeto.
Esta función se introdujo en Qt 6.10.
Véase también keyValueEnd().
[since 6.10] QJsonObject::key_value_iterator QJsonObject::keyValueEnd()
Devuelve un iterador estilo STL que apunta a la entrada imaginaria después de la última entrada del objeto.
Esta función se introdujo en Qt 6.10.
Véase también keyValueBegin().
[since 6.10] QJsonObject::const_key_value_iterator QJsonObject::keyValueEnd() const
Devuelve un iterador const de estilo STL que apunta a la entrada imaginaria después de la última entrada del objeto.
Esta función se introdujo en Qt 6.10.
Véase también keyValueBegin().
QStringList QJsonObject::keys() const
Devuelve una lista de todas las claves de este objeto.
La lista se ordena alfabéticamente.
qsizetype QJsonObject::length() const
Igual que size().
void QJsonObject::remove(const QString &key)
Elimina key del objeto.
Véase también insert() y take().
void QJsonObject::remove(QLatin1StringView key)
Se trata de una función sobrecargada.
void QJsonObject::remove(QStringView key)
Se trata de una función sobrecargada.
qsizetype QJsonObject::size() const
Devuelve el número de pares (clave, valor) almacenados en el objeto.
[noexcept] void QJsonObject::swap(QJsonObject &other)
Intercambia este objeto con other. Esta operación es muy rápida y nunca falla.
QJsonValue QJsonObject::take(const QString &key)
Elimina key del objeto.
Devuelve un QJsonValue que contiene el valor referenciado por key. Si key no estaba contenido en el objeto, el QJsonValue devuelto es QJsonValue::Undefined.
Véase también insert(), remove() y QJsonValue.
QJsonValue QJsonObject::take(QLatin1StringView key)
Se trata de una función sobrecargada.
QJsonValue QJsonObject::take(QStringView key)
Se trata de una función sobrecargada.
QVariantHash QJsonObject::toVariantHash() const
Convierte este objeto en un QVariantHash.
Devuelve el hash creado.
Véase también toVariantMap().
QVariantMap QJsonObject::toVariantMap() const
Convierte este objeto en un QVariantMap.
Devuelve el mapa creado.
Véase también toVariantHash().
QJsonValue QJsonObject::value(const QString &key) const
Devuelve un QJsonValue que representa el valor de la clave key.
El QJsonValue devuelto es QJsonValue::Undefined si la clave no existe.
Véase también QJsonValue y QJsonValue::isUndefined().
QJsonValue QJsonObject::value(QLatin1StringView key) const
Se trata de una función sobrecargada.
QJsonValue QJsonObject::value(QStringView key) const
Se trata de una función sobrecargada.
[noexcept] QJsonObject &QJsonObject::operator=(QJsonObject &&other)
Mover-asigna other a este objeto.
[noexcept] QJsonObject &QJsonObject::operator=(const QJsonObject &other)
Asigna other a este objeto.
QJsonValueRef QJsonObject::operator[](const QString &key)
Devuelve una referencia al valor de key. Si no hay ningún valor con la clave key en el objeto, se crea uno con un valor QJsonValue::Null y luego se devuelve.
El valor devuelto es de 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 en el QJsonArray o QJsonObject del que se obtuvo la referencia.
Véase también value().
QJsonValue QJsonObject::operator[](const QString &key) const
Devuelve un QJsonValue que representa el valor de la clave key.
Hace lo mismo que value().
El QJsonValue devuelto es QJsonValue::Undefined si la clave no existe.
Véase también value(), QJsonValue, y QJsonValue::isUndefined().
QJsonValueRef QJsonObject::operator[](QLatin1StringView key)
Se trata de una función sobrecargada.
QJsonValueRef QJsonObject::operator[](QStringView key)
Se trata de una función sobrecargada.
QJsonValue QJsonObject::operator[](QLatin1StringView key) const
Se trata de una función sobrecargada.
QJsonValue QJsonObject::operator[](QStringView key) const
Se trata de una función sobrecargada.
No miembros relacionados
[noexcept] bool operator!=(const QJsonObject &lhs, const QJsonObject &rhs)
Devuelve true si el objeto lhs no es igual a rhs, false en caso contrario.
[noexcept] bool operator==(const QJsonObject &lhs, const QJsonObject &rhs)
Devuelve true si el objeto lhs es igual a rhs, false en caso contrario.
© 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.