Sur cette page

QJsonObject Class

La classe QJsonObject encapsule un objet JSON. Plus d'informations...

En-tête : #include <QJsonObject>
CMake : find_package(Qt6 REQUIRED COMPONENTS Core)
target_link_libraries(mytarget PRIVATE Qt6::Core)
qmake : QT += core

Cette classe est comparable à l 'égalité.

Cette classe est comparable à QJsonValue et QJsonValueConstRef.

Remarque : toutes les fonctions de cette classe sont réentrantes.

Types publics

Fonctions publiques

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

Membres publics statiques

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)

Description détaillée

Un objet JSON est une liste de paires clé-valeur, où les clés sont des chaînes uniques et les valeurs sont représentées par un QJsonValue.

Un QJsonObject peut être converti en et depuis un QVariantMap. Vous pouvez interroger le nombre de paires (clé, valeur) avec des entrées size(), insert() et remove() à partir de cet objet et itérer sur son contenu en utilisant le modèle d'itérateur C++ standard.

QJsonObject est une classe implicitement partagée et partage les données avec le document à partir duquel il a été créé tant qu'il n'est pas modifié.

Vous pouvez convertir l'objet en JSON basé sur du texte ou à partir de celui-ci à l'aide de QJsonDocument.

Voir aussi Support JSON dans Qt et Sauvegarde et chargement d'un jeu.

Documentation sur les types de membres

QJsonObject::ConstIterator

Qt-style synonyme de QJsonObject::const_iterator.

QJsonObject::Iterator

Qt-style synonyme de QJsonObject::iterator.

[since 6.10] QJsonObject::const_key_value_iterator

Le typedef QJsonObject::const_key_value_iterator fournit un itérateur de style STL pour QJsonObject.

QJsonObject::const_key_value_iterator est essentiellement le même que QJsonObject::const_iterator à la différence que operator*() renvoie une paire clé/valeur au lieu d'une valeur.

Ce typedef a été introduit dans Qt 6.10.

Voir aussi QKeyValueIterator.

QJsonObject::key_type

Typedef pour QString. Fourni pour la compatibilité STL.

[since 6.10] QJsonObject::key_value_iterator

Le typedef QJsonObject::key_value_iterator fournit un itérateur de style STL pour QJsonObject.

QJsonObject::key_value_iterator est essentiellement le même que QJsonObject::iterator à la différence que operator*() renvoie une paire clé/valeur au lieu d'une valeur.

Ce typedef a été introduit dans Qt 6.10.

Voir aussi QKeyValueIterator.

QJsonObject::mapped_type

Typedef pour QJsonValue. Fourni pour la compatibilité STL.

QJsonObject::size_type

Typedef pour qsizetype. Fourni pour la compatibilité STL.

Documentation des fonctions membres

QJsonObject::QJsonObject()

Construit un objet JSON vide.

Voir aussi isEmpty().

QJsonObject::QJsonObject(std::initializer_list<std::pair<QString, QJsonValue>> args)

Construit une instance de QJsonObject initialisée à partir de la liste d'initialisation args. Par exemple, l'instance de QJsonObject est initialisée à partir de la liste d'initialisation :

QJsonObject object
{
    {"property1", 1},
    {"property2", 2}
};

[noexcept] QJsonObject::QJsonObject(const QJsonObject &other)

Crée une copie de other.

Comme QJsonObject est implicitement partagé, la copie est superficielle tant que l'objet n'est pas modifié.

[noexcept] QJsonObject::QJsonObject(QJsonObject &&other)

Move-construit un QJsonObject à partir de other.

[noexcept] QJsonObject::~QJsonObject()

Détruit l'objet.

[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 &&

Renvoie un objet de plage qui permet l'itération sur cet objet sous forme de paires clé/valeur. Par exemple, cet objet peut être utilisé dans une boucle for basée sur une plage, en combinaison avec une déclaration de liaison structurée :

QJsonObject obj{ { "something", "is" },{ "in", "this" },{ "object", 42 },} ;for(auto [key, value]: obj.asKeyValueRange()) {    qDebug() << key << "->" << value;
   if (key == "object") value = " !"; // modifier l'objet à cette clé}
qDebug() << obj["object"]; // QJsonValue(string, "!")

Notez que la valeur obtenue de cette manière est une référence à celle de l'objet. Plus précisément, la modification de la valeur modifiera l'objet lui-même.

Lors de l'appel de cette méthode sur rvaleurs (par exemple sur un temporaire créé dans l'inializer d'une boucle for rangée), l'objet sera capturé dans cet intervalle.

Ces fonctions ont été introduites dans Qt 6.10.

Voir aussi QKeyValueIterator.

QJsonObject::iterator QJsonObject::begin()

Renvoie un itérateur de style STL pointant sur le premier élément de l'objet.

Voir aussi constBegin() et end().

QJsonObject::const_iterator QJsonObject::begin() const

Il s'agit d'une fonction surchargée.

QJsonObject::const_iterator QJsonObject::constBegin() const

Renvoie un itérateur constant de style STL pointant sur le premier élément de l'objet.

Voir aussi begin() et constEnd().

QJsonObject::const_iterator QJsonObject::constEnd() const

Renvoie un itérateur constant de style STL pointant vers l'élément imaginaire situé après le dernier élément de l'objet.

Voir aussi constBegin() et end().

QJsonObject::const_iterator QJsonObject::constFind(const QString &key) const

Renvoie un itérateur constant pointant vers l'élément avec la clé key dans la carte.

Si la carte ne contient aucun élément avec la clé key, la fonction renvoie constEnd().

QJsonObject::const_iterator QJsonObject::constFind(QLatin1StringView key) const

Il s'agit d'une fonction surchargée.

QJsonObject::const_iterator QJsonObject::constFind(QStringView key) const

Il s'agit d'une fonction surchargée.

[since 6.10] QJsonObject::const_key_value_iterator QJsonObject::constKeyValueBegin() const

Renvoie un itérateur constant de style STL pointant vers la première entrée de l'objet.

Cette fonction a été introduite dans Qt 6.10.

Voir aussi keyValueBegin().

[since 6.10] QJsonObject::const_key_value_iterator QJsonObject::constKeyValueEnd() const

Renvoie un itérateur constant de style STL pointant vers l'entrée imaginaire située après la dernière entrée de l'objet.

Cette fonction a été introduite dans Qt 6.10.

Voir aussi constKeyValueBegin().

bool QJsonObject::contains(const QString &key) const

Renvoie true si l'objet contient la clé key.

Voir aussi insert(), remove(), et take().

bool QJsonObject::contains(QLatin1StringView key) const

Il s'agit d'une fonction surchargée.

bool QJsonObject::contains(QStringView key) const

Il s'agit d'une fonction surchargée.

qsizetype QJsonObject::count() const

Identique à size().

bool QJsonObject::empty() const

Cette fonction est fournie à des fins de compatibilité avec la STL. Elle est équivalente à isEmpty(), renvoyant true si l'objet est vide, sinon renvoyant false.

QJsonObject::iterator QJsonObject::end()

Renvoie un itérateur de style STL pointant vers l'élément imaginaire situé après le dernier élément de l'objet.

Voir aussi begin() et constEnd().

QJsonObject::const_iterator QJsonObject::end() const

Il s'agit d'une fonction surchargée.

QJsonObject::iterator QJsonObject::erase(QJsonObject::iterator it)

Supprime de la carte la paire (clé, valeur) indiquée par l'itérateur it et renvoie un itérateur vers l'élément suivant de la carte.

Voir aussi remove().

QJsonObject::iterator QJsonObject::find(const QString &key)

Renvoie un itérateur pointant vers l'élément avec la clé key dans la carte.

Si la carte ne contient aucun élément avec la clé key, la fonction renvoie end().

QJsonObject::iterator QJsonObject::find(QLatin1StringView key)

Il s'agit d'une fonction surchargée.

QJsonObject::iterator QJsonObject::find(QStringView key)

Il s'agit d'une fonction surchargée.

QJsonObject::const_iterator QJsonObject::find(QLatin1StringView key) const

Il s'agit d'une fonction surchargée.

QJsonObject::const_iterator QJsonObject::find(QStringView key) const

Il s'agit d'une fonction surchargée.

QJsonObject::const_iterator QJsonObject::find(const QString &key) const

Il s'agit d'une fonction surchargée.

[static] QJsonObject QJsonObject::fromVariantHash(const QVariantHash &hash)

Convertit la variante hash hash en QJsonObject.

Les clés de hash seront utilisées comme clés dans l'objet JSON, et les valeurs de QVariant seront converties en valeurs JSON.

Remarque : la conversion à partir de QVariant n'est pas totalement sans perte. Veuillez consulter la documentation de QJsonValue::fromVariant() pour plus d'informations.

Voir aussi fromVariantMap(), toVariantHash(), et QJsonValue::fromVariant().

[static] QJsonObject QJsonObject::fromVariantMap(const QVariantMap &map)

Convertit la carte de variantes map en une carte QJsonObject.

Les clés de map seront utilisées comme clés dans l'objet JSON, et les valeurs de QVariant seront converties en valeurs JSON.

Remarque : la conversion à partir de QVariant n'est pas totalement sans perte. Veuillez consulter la documentation de QJsonValue::fromVariant() pour plus d'informations.

Voir aussi fromVariantHash(), toVariantMap(), et QJsonValue::fromVariant().

QJsonObject::iterator QJsonObject::insert(const QString &key, const QJsonValue &value)

Insère un nouvel élément avec la clé key et la valeur value.

S'il existe déjà un élément avec la clé key, la valeur de cet élément est remplacée par value.

Renvoie un itérateur pointant vers l'élément inséré.

Si la valeur est QJsonValue::Undefined, la clé sera supprimée de l'objet. L'itérateur retourné pointera alors vers end().

Voir aussi remove(), take(), QJsonObject::iterator, et end().

QJsonObject::iterator QJsonObject::insert(QLatin1StringView key, const QJsonValue &value)

Il s'agit d'une fonction surchargée.

QJsonObject::iterator QJsonObject::insert(QStringView key, const QJsonValue &value)

Il s'agit d'une fonction surchargée.

bool QJsonObject::isEmpty() const

Renvoie true si l'objet est vide. C'est la même chose que size() == 0.

Voir aussi size().

[since 6.10] QJsonObject::key_value_iterator QJsonObject::keyValueBegin()

Renvoie un itérateur de style STL pointant vers la première entrée de l'objet.

Cette fonction a été introduite dans Qt 6.10.

Voir aussi keyValueEnd().

[since 6.10] QJsonObject::const_key_value_iterator QJsonObject::keyValueBegin() const

Renvoie un itérateur constant de style STL pointant vers la première entrée de l'objet.

Cette fonction a été introduite dans Qt 6.10.

Voir aussi keyValueEnd().

[since 6.10] QJsonObject::key_value_iterator QJsonObject::keyValueEnd()

Renvoie un itérateur de style STL pointant vers l'entrée imaginaire située après la dernière entrée de l'objet.

Cette fonction a été introduite dans Qt 6.10.

Voir aussi keyValueBegin().

[since 6.10] QJsonObject::const_key_value_iterator QJsonObject::keyValueEnd() const

Renvoie un itérateur constant de style STL pointant vers l'entrée imaginaire située après la dernière entrée de l'objet.

Cette fonction a été introduite dans Qt 6.10.

Voir aussi keyValueBegin().

QStringList QJsonObject::keys() const

Renvoie une liste de toutes les clés de cet objet.

La liste est triée par ordre alphabétique.

qsizetype QJsonObject::length() const

Identique à size().

void QJsonObject::remove(const QString &key)

Supprime key de l'objet.

Voir également insert() et take().

void QJsonObject::remove(QLatin1StringView key)

Il s'agit d'une fonction surchargée.

void QJsonObject::remove(QStringView key)

Il s'agit d'une fonction surchargée.

qsizetype QJsonObject::size() const

Renvoie le nombre de paires (clé, valeur) stockées dans l'objet.

[noexcept] void QJsonObject::swap(QJsonObject &other)

Échange cet objet avec other. Cette opération est très rapide et n'échoue jamais.

QJsonValue QJsonObject::take(const QString &key)

Supprime key de l'objet.

Retourne un QJsonValue contenant la valeur référencée par key. Si key n'était pas contenu dans l'objet, le QJsonValue renvoyé est QJsonValue::Undefined.

Voir également insert(), remove() et QJsonValue.

QJsonValue QJsonObject::take(QLatin1StringView key)

Il s'agit d'une fonction surchargée.

QJsonValue QJsonObject::take(QStringView key)

Il s'agit d'une fonction surchargée.

QVariantHash QJsonObject::toVariantHash() const

Convertit cet objet en QVariantHash.

Renvoie le hachage créé.

Voir également toVariantMap().

QVariantMap QJsonObject::toVariantMap() const

Convertit cet objet en QVariantMap.

Renvoie la carte créée.

Voir aussi toVariantHash().

QJsonValue QJsonObject::value(const QString &key) const

Renvoie un QJsonValue représentant la valeur de la clé key.

L'adresse QJsonValue renvoyée est QJsonValue::Undefined si la clé n'existe pas.

Voir aussi QJsonValue et QJsonValue::isUndefined().

QJsonValue QJsonObject::value(QLatin1StringView key) const

Il s'agit d'une fonction surchargée.

QJsonValue QJsonObject::value(QStringView key) const

Il s'agit d'une fonction surchargée.

[noexcept] QJsonObject &QJsonObject::operator=(QJsonObject &&other)

Déplacer - assigne other à cet objet.

[noexcept] QJsonObject &QJsonObject::operator=(const QJsonObject &other)

Attribue other à cet objet.

QJsonValueRef QJsonObject::operator[](const QString &key)

Renvoie une référence à la valeur de key. S'il n'y a pas de valeur avec la clé key dans l'objet, une valeur QJsonValue::Null est créée et renvoyée.

La valeur renvoyée 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'affectez, l'affectation s'appliquera à l'élément de l'objet QJsonArray ou QJsonObject à partir duquel vous avez obtenu la référence.

Voir également value().

QJsonValue QJsonObject::operator[](const QString &key) const

Renvoie un QJsonValue représentant la valeur de la clé key.

Le résultat est le même que celui de value().

L'adresse QJsonValue renvoyée est QJsonValue::Undefined si la clé n'existe pas.

Voir aussi value(), QJsonValue, et QJsonValue::isUndefined().

QJsonValueRef QJsonObject::operator[](QLatin1StringView key)

Il s'agit d'une fonction surchargée.

QJsonValueRef QJsonObject::operator[](QStringView key)

Il s'agit d'une fonction surchargée.

QJsonValue QJsonObject::operator[](QLatin1StringView key) const

Il s'agit d'une fonction surchargée.

QJsonValue QJsonObject::operator[](QStringView key) const

Il s'agit d'une fonction surchargée.

Non-membres apparentés

[noexcept] bool operator!=(const QJsonObject &lhs, const QJsonObject &rhs)

Renvoie true si l'objet lhs n'est pas égal à rhs, false dans le cas contraire.

[noexcept] bool operator==(const QJsonObject &lhs, const QJsonObject &rhs)

Renvoie true si l'objet lhs est égal à rhs, false dans le cas contraire.

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