QJsonDocument Class
La classe QJsonDocument permet de lire et d'écrire des documents JSON. Plus d'informations...
| 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 de JSON Support in Qt et Implicitly Shared Classes.
Cette classe est comparable à l'égalité.
Note : Toutes les fonctions de cette classe sont réentrantes.
Types publics
| enum | JsonFormat { Indented, Compact } |
Fonctions publiques
| QJsonDocument() | |
| 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) |
Non-membres apparenté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 englobe un document JSON complet et qui peut lire ce document à partir d'une représentation textuelle encodée UTF-8 et l'écrire dans cette représentation.
Un document JSON peut être converti de sa représentation textuelle en un QJsonDocument à l'aide de QJsonDocument::fromJson(). toJson() le reconvertit en texte. L'analyseur est très rapide et efficace et convertit le JSON dans la représentation binaire utilisée par Qt.
La validité du document analysé peut être demandée avec !isNull()
Un document peut être interrogé pour savoir s'il contient un tableau ou un objet en utilisant 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 aussi Support JSON dans Qt et Sauvegarde et chargement d'un jeu.
Documentation sur les types de membres
enum QJsonDocument::JsonFormat
Cette valeur définit le format du tableau d'octets JSON produit lors de la conversion en QJsonDocument à l'aide de toJson().
| Constante | Valeur | Description |
|---|---|---|
QJsonDocument::Indented | 0 | Définit une sortie lisible par l'homme comme suit : {
"Array": [
true,
999,
"string"
],
"Key": "Value",
"null": null
} |
QJsonDocument::Compact | 1 | Définit une sortie compacte comme suit : {"Array":[true,999,"string"],"Key":"Value","null":null} |
Fonction membre Documentation
QJsonDocument::QJsonDocument()
Construit un document vide et invalide.
[explicit] QJsonDocument::QJsonDocument(const QJsonArray &array)
Construit un QJsonDocument à partir de array.
[explicit] QJsonDocument::QJsonDocument(const QJsonObject &object)
Crée un QJsonDocument à partir de object.
QJsonDocument::QJsonDocument(const QJsonDocument &other)
Crée une copie du document other.
[noexcept] QJsonDocument::QJsonDocument(QJsonDocument &&other)
Move-construit un QJsonDocument à partir de other.
[noexcept] QJsonDocument::~QJsonDocument()
Supprime le document.
L'ensemble de données binaires avec fromRawData n'est pas libéré.
QJsonArray QJsonDocument::array() const
Retourne les QJsonArray contenus dans le document.
Retourne un tableau vide si le document contient un objet.
Voir aussi isArray(), object(), et setArray().
[static] QJsonDocument QJsonDocument::fromJson(const QByteArray &json, QJsonParseError *error = nullptr)
Analyse json comme un document JSON encodé en UTF-8 et crée un QJsonDocument à partir de celui-ci.
Retourne un QJsonDocument valide (non nul) si l'analyse réussit. En cas d'échec, le document retourné sera nul, et la variable optionnelle error contiendra des détails supplémentaires sur l'erreur.
Voir aussi toJson(), QJsonParseError, et isNull().
[static] QJsonDocument QJsonDocument::fromVariant(const QVariant &variant)
Crée un QJsonDocument à partir du QVariant variant .
Si variant contient un autre type que QVariantMap, QVariantHash, QVariantList ou QStringList, le document retourné n'est pas valide.
Voir aussi toVariant().
bool QJsonDocument::isArray() const
Renvoie true si le document contient un tableau.
Voir aussi array() et isObject().
bool QJsonDocument::isEmpty() const
Renvoie true si le document ne contient pas de données.
bool QJsonDocument::isNull() const
renvoie true si ce document est nul.
Les documents nuls sont des documents créés par le constructeur par défaut.
Les documents créés à partir de texte encodé en UTF-8 ou du format binaire sont validés lors de l'analyse. Si la validation échoue, le document retourné sera également nul.
bool QJsonDocument::isObject() const
Renvoie true si le document contient un objet.
Voir aussi object() et isArray().
QJsonObject QJsonDocument::object() const
Retourne les QJsonObject contenus dans le document.
Retourne un objet vide si le document contient un tableau.
Voir aussi isObject(), array(), et setObject().
void QJsonDocument::setArray(const QJsonArray &array)
Définit array comme l'objet principal de ce document.
Voir également setObject() et array().
void QJsonDocument::setObject(const QJsonObject &object)
Définit object comme l'objet principal de ce document.
Voir également setArray() et object().
[noexcept] void QJsonDocument::swap(QJsonDocument &other)
Remplace ce document par other. Cette opération est très rapide et n'échoue jamais.
QByteArray QJsonDocument::toJson(QJsonDocument::JsonFormat format = JsonFormat::Indented) const
Convertit le document QJsonDocument en un document JSON encodé en UTF-8 dans le format fourni format.
Voir aussi fromJson() et JsonFormat.
QVariant QJsonDocument::toVariant() const
Renvoie un QVariant représentant le document Json.
La variante renvoyée sera un QVariantList si le document est un QJsonArray et un QVariantMap si le document est un QJsonObject.
Voir aussi fromVariant() et QJsonValue::toVariant().
[noexcept] QJsonDocument &QJsonDocument::operator=(QJsonDocument &&other)
Move-assigne 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 QJsonValue représentant la valeur de la clé key.
Cela équivaut à appeler object().value(key).
L'adresse QJsonValue renvoyée est QJsonValue::Undefined si la clé n'existe pas ou si isObject() est faux.
Voir aussi QJsonValue, QJsonValue::isUndefined(), et QJsonObject.
const QJsonValue QJsonDocument::operator[](qsizetype i) const
Renvoie un QJsonValue représentant la valeur de l'index i.
Cela équivaut à appeler array().at(i).
L'adresse 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.
Non-membres apparentés
[noexcept] bool operator!=(const QJsonDocument &lhs, const QJsonDocument &rhs)
Renvoie true si le document lhs n'est pas égal au document rhs, false sinon.
[noexcept] bool operator==(const QJsonDocument &lhs, const QJsonDocument &rhs)
Renvoie true si le document lhs est égal au document rhs, false sinon.
© 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.