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 |
- Liste de tous les membres, y compris les membres hérités
- QJsonObject fait partie du support JSON dans Qt et des classes partagées implicitement.
Remarque : toutes les fonctions de cette classe sont réentrantes.
Comparaisons de QJsonObject
| Catégorie | Types comparables |
|---|---|
| égalité | QJsonObject |
| égalité | QJsonValue et QJsonValueConstRef. |
Types publics
| 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 |
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) |
Éléments non membres associés
| 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.