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