En esta página

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

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

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