QJsonDocument Class
La classe QJsonDocument permet de lire et d'écrire des documents JSON. En savoir plus...
| En-tête : | #include <QJsonDocument> |
| 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
- QJsonDocument 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 QJsonDocument
| Catégorie | Types comparables |
|---|---|
| égalité | QJsonDocument |
Types publics
| enum | JsonFormat { Indented, Compact } |
Fonctions publiques
| QJsonDocument() | |
(since 6.12) | QJsonDocument(QJsonArray &&array) |
(since 6.12) | QJsonDocument(QJsonObject &&object) |
| QJsonDocument(const QJsonArray &array) | |
| QJsonDocument(const QJsonObject &object) | |
| QJsonDocument(const QJsonDocument &other) | |
| QJsonDocument(QJsonDocument &&other) | |
| ~QJsonDocument() | |
| QJsonArray | array() const |
| bool | isArray() const |
| bool | isEmpty() const |
| bool | isNull() const |
| bool | isObject() const |
| QJsonObject | object() const |
| void | setArray(const QJsonArray &array) |
| void | setObject(const QJsonObject &object) |
| void | swap(QJsonDocument &other) |
| QByteArray | toJson(QJsonDocument::JsonFormat format = JsonFormat::Indented) const |
| QVariant | toVariant() const |
| QJsonDocument & | operator=(QJsonDocument &&other) |
| QJsonDocument & | operator=(const QJsonDocument &other) |
| const QJsonValue | operator[](const QString &key) const |
| const QJsonValue | operator[](qsizetype i) const |
| const QJsonValue | operator[](QLatin1StringView key) const |
| const QJsonValue | operator[](QStringView key) const |
Membres publics statiques
| QJsonDocument | fromJson(const QByteArray &json, QJsonParseError *error = nullptr) |
| QJsonDocument | fromVariant(const QVariant &variant) |
Éléments non membres associés
| bool | operator!=(const QJsonDocument &lhs, const QJsonDocument &rhs) |
| bool | operator==(const QJsonDocument &lhs, const QJsonDocument &rhs) |
Description détaillée
QJsonDocument est une classe qui encapsule un document JSON complet et permet de lire ce document à partir d'une représentation textuelle encodée en UTF-8, ainsi que de l'écrire dans ce format.
Un document JSON peut être converti de sa représentation textuelle en un QJsonDocument à l'aide de la fonction QJsonDocument::fromJson(). La fonction toJson() le reconvertit en texte. L'analyseur est très rapide et efficace ; il convertit le JSON en représentation binaire utilisée par Qt.
La validité du document analysé peut être vérifiée à l'aide de !isNull()
Il est possible de vérifier si un document contient un tableau ou un objet à l'aide de ` isArray()` et ` isObject()`. Le tableau ou l'objet contenu dans le document peut être récupéré à l'aide de ` array()` ou ` object()`, puis lu ou manipulé.
Voir également la prise en charge de JSON dans Qt et Enregistrement et chargement d’une partie.
Documentation sur les types de membres
enum QJsonDocument::JsonFormat
Cette valeur définit le format du tableau d'octets JSON généré lors de la conversion en une chaîne de caractères de type « QJsonDocument » à l'aide de la fonction toJson().
| Constante | Valeur | Description |
|---|---|---|
QJsonDocument::Indented | 0 | Définit une sortie lisible par l’utilisateur comme suit : |
QJsonDocument::Compact | 1 | Définit une sortie compacte comme suit : |
Documentation des fonctions membres
QJsonDocument::QJsonDocument()
Crée un document vide et non valide.
[explicit, since 6.12] QJsonDocument::QJsonDocument(QJsonArray &&array)
Crée un objet `QJsonDocument` à partir d'array.
Cette fonction a été introduite dans Qt 6.12.
[explicit, since 6.12] QJsonDocument::QJsonDocument(QJsonObject &&object)
Crée un objet `QJsonDocument` à partir d'un objet ` object`.
Cette fonction a été introduite dans Qt 6.12.
[explicit] QJsonDocument::QJsonDocument(const QJsonArray &array)
Crée un objet `QJsonDocument` à partir de ` array`.
[explicit] QJsonDocument::QJsonDocument(const QJsonObject &object)
Crée un objet `QJsonDocument` à partir de object.
QJsonDocument::QJsonDocument(const QJsonDocument &other)
Crée une copie du document « other ».
[noexcept] QJsonDocument::QJsonDocument(QJsonDocument &&other)
Crée un objet `QJsonDocument` à partir de ` other`.
[noexcept] QJsonDocument::~QJsonDocument()
Supprime le document.
L'ensemble de données binaires créé avec fromRawData n'est pas libéré.
QJsonArray QJsonDocument::array() const
Renvoie l'QJsonArray e contenue dans le document.
Renvoie un tableau vide si le document contient un objet.
Voir également isArray(), object() et setArray().
[static] QJsonDocument QJsonDocument::fromJson(const QByteArray &json, QJsonParseError *error = nullptr)
Analyse json en tant que document JSON encodé en UTF-8, puis crée un objet ` QJsonDocument ` à partir de celui-ci.
Renvoie un objet ` QJsonDocument ` valide (non nul) si l'analyse est réussie. En cas d'échec, le document renvoyé sera nul et la variable facultative ` error ` contiendra des détails supplémentaires sur l'erreur.
Voir également toJson(), QJsonParseError et isNull().
[static] QJsonDocument QJsonDocument::fromVariant(const QVariant &variant)
Crée un fichier « QJsonDocument » à partir de la page QVariant variant .
Si l'variant contient un type autre qu'un QVariantMap, QVariantHash, QVariantList ou QStringList, le document renvoyé n'est pas valide.
Voir également toVariant().
bool QJsonDocument::isArray() const
Renvoie « true » si le document contient un tableau.
Voir également array() et isObject().
bool QJsonDocument::isEmpty() const
Renvoie « true » si le document ne contient aucune donnée.
bool QJsonDocument::isNull() const
Renvoie « true » si ce document est nul.
Les documents nuls sont des documents créés via le constructeur par défaut.
Les documents créés à partir d'un texte encodé en UTF-8 ou au format binaire sont validés lors de l'analyse. Si la validation échoue, le document renvoyé sera également nul.
bool QJsonDocument::isObject() const
Renvoie ` true ` si le document contient un objet.
Voir également object() et isArray().
QJsonObject QJsonDocument::object() const
Renvoie l'QJsonObject e contenu dans le document.
Renvoie un objet vide si le document contient un tableau.
Voir également isObject(), array() et setObject().
void QJsonDocument::setArray(const QJsonArray &array)
Définit array comme objet principal de ce document.
Voir également setObject() et array().
void QJsonDocument::setObject(const QJsonObject &object)
Définit object comme objet principal de ce document.
Voir également setArray() et object().
[noexcept] void QJsonDocument::swap(QJsonDocument &other)
Remplace ce document par celui disponible à l'adresse other. Cette opération est très rapide et ne pose jamais de problème.
QByteArray QJsonDocument::toJson(QJsonDocument::JsonFormat format = JsonFormat::Indented) const
Convertit le fichier « QJsonDocument » en un document JSON encodé en UTF-8, puis l'enregistre dans le répertoire « format » fourni.
Voir également fromJson() et JsonFormat.
QVariant QJsonDocument::toVariant() const
Renvoie un objet ` QVariant ` représentant le document JSON.
La variante renvoyée sera de type « QVariantList » si le document est de type « QJsonArray » et de type « QVariantMap » si le document est de type « QJsonObject ».
Voir également fromVariant() et QJsonValue::toVariant().
[noexcept] QJsonDocument &QJsonDocument::operator=(QJsonDocument &&other)
Cette opération attribue le numéro d'other à ce document.
QJsonDocument &QJsonDocument::operator=(const QJsonDocument &other)
Attribue le document « other » à cet objet QJsonDocument. Renvoie une référence à cet objet.
const QJsonValue QJsonDocument::operator[](const QString &key) const
Renvoie un objet de type « QJsonValue » représentant la valeur associée à la clé « key ».
Cela revient à appeler ` object()`.value(key).
L'QJsonValue renvoyée est QJsonValue::Undefined si la clé n'existe pas ou si isObject() est faux.
Voir également QJsonValue, QJsonValue::isUndefined() et QJsonObject.
const QJsonValue QJsonDocument::operator[](qsizetype i) const
Renvoie un objet ` QJsonValue ` représentant la valeur associée à l'i.
Cela revient à appeler ` array()`.at(i).
L'QJsonValue renvoyée est QJsonValue::Undefined si i est hors limites ou si isArray() est faux.
Voir également QJsonValue, QJsonValue::isUndefined() et QJsonArray.
const QJsonValue QJsonDocument::operator[](QLatin1StringView key) const
Il s'agit d'une fonction surchargée.
const QJsonValue QJsonDocument::operator[](QStringView key) const
Il s'agit d'une fonction surchargée.
Éléments non membres associés
[noexcept] bool operator!=(const QJsonDocument &lhs, const QJsonDocument &rhs)
Renvoie « true » si le document lhs n'est pas identique au document rhs, et « false » dans le cas contraire.
[noexcept] bool operator==(const QJsonDocument &lhs, const QJsonDocument &rhs)
Renvoie « true » si le document lhs est identique au document rhs, et « 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.