Sur cette page

QJsonObject Class

La classe QJsonObject encapsule un objet JSON. En savoir plus...

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

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

Comparaisons de QJsonObject

CatégorieTypes comparables
égalitéQJsonObject
égalitéQJsonValue et QJsonValueConstRef.

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
(since 6.12) QJsonObject::const_iterator cbegin() const
(since 6.12) QJsonObject::const_iterator cend() 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 de caractères uniques et les valeurs sont représentées par un objet ` QJsonValue`.

Un QJsonObject peut être converti en un QVariantMap et inversement. Vous pouvez interroger le nombre de paires (clé, valeur) à l’aide des méthodes size(), insert() et remove(), puis parcourir son contenu à l’aide du modèle d’itérateur C++ standard.

QJsonObject est une classe implicitement partagée ; elle partage les données avec le document à partir duquel elle a été créée tant que celui-ci n’est pas modifié.

Vous pouvez convertir l’objet en JSON textuel et inversement à l’aide de ` QJsonDocument`.

Voir également la prise en charge de JSON dans Qt et la section « Enregistrement et chargement d’une partie ».

Documentation sur les types de membres

QJsonObject::ConstIterator

Synonyme de « QJsonObject::const_iterator » dans le style Qt.

QJsonObject::Iterator

Synonyme de « QJsonObject::iterator » dans le style Qt XML.

[since 6.10] QJsonObject::const_key_value_iterator

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

QJsonObject::const_key_value_iterator est essentiellement identique à QJsonObject::const_iterator, à la différence que l'opérateur *() renvoie une paire clé/valeur au lieu d'une valeur.

Ce typedef a été introduit dans Qt 6.10.

Voir également QKeyValueIterator.

QJsonObject::key_type

Définition de type pour ` QString`. Fournie à des fins de compatibilité avec la STL.

[since 6.10] QJsonObject::key_value_iterator

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

QJsonObject::key_value_iterator est essentiellement identique à QJsonObject::iterator, à la différence que l'opérateur *() renvoie une paire clé/valeur au lieu d'une valeur.

Ce typedef a été introduit dans Qt 6.10.

Voir également QKeyValueIterator.

QJsonObject::mapped_type

Définition de type pour ` QJsonValue`. Fournie à des fins de compatibilité avec la STL.

QJsonObject::size_type

Définition de type pour `qsizetype`. Fournie à des fins de compatibilité avec la STL.

Documentation des fonctions membres

QJsonObject::QJsonObject()

Crée un objet JSON vide.

Voir aussi isEmpty().

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

Crée une instance de `QJsonObject` initialisée à partir d'args e liste d'initialisation. Par exemple :

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)

Crée un objet QJsonObject à partir de other.

[noexcept] QJsonObject::~QJsonObject()

Détruit l'objet.

[since 6.10] auto QJsonObject::asKeyValueRange() &&

[since 6.10] auto QJsonObject::asKeyValueRange() &

[since 6.10] auto QJsonObject::asKeyValueRange() const &&

[since 6.10] auto QJsonObject::asKeyValueRange() const &

Renvoie un objet de plage qui permet de parcourir cet objet sous forme de paires clé/valeur. Par exemple, cet objet de plage 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 associé à cette clé
}
qDebug() << obj["object"]; // QJsonValue(string, "!")

Notez que la valeur ainsi obtenue est une référence à celle contenue dans l’objet. Plus précisément, la modification de cette valeur entraînera la modification de l’objet lui-même.

Lorsque cette méthode est appelée sur des valeurs r (par exemple sur une variable temporaire créée dans l'initialiseur d'une boucle « for » avec plage), l'objet sera capturé dans cette plage.

Ces fonctions ont été introduites dans Qt 6.10.

Voir également QKeyValueIterator.

QJsonObject::iterator QJsonObject::begin()

Renvoie un itérateur de type STL pointant vers le premier élément de l'objet.

Voir également constBegin() et end().

QJsonObject::const_iterator QJsonObject::begin() const

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

[since 6.12] QJsonObject::const_iterator QJsonObject::cbegin() const

Renvoie un itérateur de type STL (const) pointant vers le premier élément de l'objet.

Cette fonction a été introduite dans Qt 6.12.

Voir également begin() et cend().

[since 6.12] QJsonObject::const_iterator QJsonObject::cend() const

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

Cette fonction a été introduite dans Qt 6.12.

Voir également cbegin() et end().

QJsonObject::const_iterator QJsonObject::constBegin() const

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

Voir également begin() et constEnd().

QJsonObject::const_iterator QJsonObject::constEnd() const

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

Voir également constBegin() et end().

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

Renvoie un itérateur const pointant vers l'élément de la carte dont la clé est « key ».

Si la table ne contient aucun élément ayant pour 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 de type STL (const) 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 de type STL (const) 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 également 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 équivaut à ` isEmpty()`, qui renvoie ` true ` si l'objet est vide ; sinon, elle renvoie ` false`.

QJsonObject::iterator QJsonObject::end()

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

Voir également 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 table la paire (clé, valeur) pointée par l'itérateur it, puis renvoie un itérateur vers l'élément suivant de la table.

Voir également remove().

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

Renvoie un itérateur pointant vers l'élément de la carte dont la clé est « key ».

Si la table 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 le hachage de variante hash en un objet 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 relative à QJsonValue::fromVariant() pour plus d'informations.

Voir également fromVariantMap(), toVariantHash() et QJsonValue::fromVariant().

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

Convertit la carte de variantes map en un objet 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 relative à ` QJsonValue::fromVariant()` pour plus d’informations.

Voir également 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 alors 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 renvoyé pointera alors vers end().

Voir également 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. Cela revient à vérifier si « size() » est égal à 0.

Voir aussi size().

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

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

Cette fonction a été introduite dans Qt 6.10.

Voir également ` keyValueEnd()`.

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

Renvoie un itérateur de type STL (const) 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 type 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 de type STL (const) 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 la propriété « 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)

Permute cet objet avec other. Cette opération est très rapide et ne rencontre jamais d'échec.

QJsonValue QJsonObject::take(const QString &key)

Supprime l'key de l'objet.

Renvoie une instance de ` QJsonValue ` contenant la valeur référencée par ` key`. Si ` key ` n'était pas présent dans l'objet, l'instance de ` QJsonValue ` renvoyée 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 un ` QVariantHash`.

Renvoie le hachage créé.

Voir aussi toVariantMap().

QVariantMap QJsonObject::toVariantMap() const

Convertit cet objet en une carte de type « QVariantMap ».

Renvoie la carte créée.

Voir aussi toVariantHash().

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

Renvoie un objet ` QJsonValue ` représentant la valeur associée à la clé ` key`.

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

Voir également ` 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)

La commande « Move » attribue la valeur « 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 associée à « key ». Si l'objet ne contient aucune valeur associée à la clé « key », une valeur est créée avec la valeur « QJsonValue::Null », puis renvoyée.

La valeur renvoyée est de type ` QJsonValueRef`, une classe auxiliaire 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 ` QJsonValue`. Si vous lui attribuez une valeur, l’affectation s’appliquera à l’élément de ` QJsonArray ` ou ` QJsonObject ` à partir duquel vous avez obtenu la référence.

Voir également value().

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

Renvoie un objet ` QJsonValue ` représentant la valeur associée à la clé ` key`.

Cette fonction a le même effet que ` value()`.

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

Voir également 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.

Éléments non membres associés

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

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

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

Renvoie « true » si l'objet « lhs » est égal à « rhs » ; sinon, renvoie « false ».

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