QBinaryJson Namespace
Contient des fonctions permettant de convertir des données « QJsonDocument » au format binaire JSON et inversement. En savoir plus...
| En-tête : | #include <QBinaryJson> |
| CMake : | find_package(Qt6 REQUIRED COMPONENTS Core5Compat) target_link_libraries(mytarget PRIVATE Qt6::Core5Compat) |
| qmake : | QT += core5compat |
Types
| enum | DataValidation { Validate, BypassValidation } |
Fonctions
| QJsonDocument | fromBinaryData(const QByteArray &data, QBinaryJson::DataValidation validation = Validate) |
| QJsonDocument | fromRawData(const char *data, int size, QBinaryJson::DataValidation validation = Validate) |
| QByteArray | toBinaryData(const QJsonDocument &document) |
Description détaillée
Cet espace de noms fournit des fonctions utilitaires permettant de maintenir la compatibilité avec les anciens codes, qui utilisent le format binaire JSON pour la sérialisation de JSON. Les types JSON de Qt peuvent être convertis en types CBOR de Qt, qui peuvent à leur tour être sérialisés au format binaire CBOR, et inversement.
Documentation sur les types
enum QBinaryJson::DataValidation
Cette énumération sert à indiquer à QJsonDocument s'il faut valider les données binaires lors de la conversion en un objet de type « QJsonDocument » à l'aide des méthodes fromBinaryData() ou fromRawData().
| Constante | Valeur | Description |
|---|---|---|
QBinaryJson::Validate | 0 | Valide les données avant de les utiliser. Il s'agit de la valeur par défaut. |
QBinaryJson::BypassValidation | 1 | Ignore la validation des données. À n'utiliser que si les données proviennent d'une source fiable et que vous êtes certain de leur validité, car l'utilisation de données non valides peut entraîner le plantage de l'application. |
Documentation de la fonction
QJsonDocument QBinaryJson::fromBinaryData(const QByteArray &data, QBinaryJson::DataValidation validation = Validate)
Crée un objet « QJsonDocument » à partir de data.
validation Détermine si la validité des données est vérifiée avant leur utilisation. Par défaut, les données sont validées. Si l'data n'est pas valide, la méthode renvoie un document nul.
Remarque : l’encodage JSON binaire n’est conservé qu’à des fins de compatibilité ascendante. Il n’est pas documenté et impose des restrictions quant à la taille maximale des documents JSON pouvant être encodés. Les types JSON de Qt peuvent être convertis en types CBOR de Qt, qui peuvent à leur tour être sérialisés au format binaire CBOR, et inversement. Le format CBOR est une représentation binaire bien définie et moins restrictive d’un sur-ensemble de JSON.
Voir également toBinaryData(), fromRawData(), DataValidation et QCborValue.
QJsonDocument QBinaryJson::fromRawData(const char *data, int size, QBinaryJson::DataValidation validation = Validate)
Crée un objet ` QJsonDocument ` qui utilise les ` size ` premiers octets de ` data`. Cette fonction part du principe que ` data ` contient un document JSON encodé en binaire. Le document créé ne prend pas possession de ` data`. Les données sont copiées dans une structure de données distincte, et les données d'origine peuvent être supprimées ou modifiées par la suite.
data doit être aligné sur une limite de 4 octets.
validation Détermine si la validité des données est vérifiée avant leur utilisation. Par défaut, les données sont validées. Si l'data n'est pas valide, la méthode renvoie un document nul.
Renvoie un « QJsonDocument » représentant les données.
Remarque : l’encodage binaire JSON n’est conservé que pour des raisons de compatibilité ascendante. Il n’est pas documenté et impose des restrictions quant à la taille maximale des documents JSON pouvant être encodés. Les types JSON de Qt peuvent être convertis en types CBOR de Qt, qui peuvent à leur tour être sérialisés au format binaire CBOR, et inversement. Le format CBOR est une représentation binaire bien définie et moins restrictive d’un sur-ensemble de JSON.
Remarque : avant Qt 5.15, l’appelant devait garantir que data ne serait ni supprimé ni modifié tant que l’un des éléments QJsonDocument, QJsonObject ou QJsonArray faisait encore référence à ces données. À partir de Qt 5.15, cela n’est plus nécessaire.
Voir également toRawData(), fromBinaryData(), DataValidation et QCborValue.
QByteArray QBinaryJson::toBinaryData(const QJsonDocument &document)
Renvoie une représentation binaire de document.
Cette représentation binaire est également le format natif utilisé en interne par Qt ; elle est très efficace et permet des conversions rapides dans les deux sens.
Le format binaire peut être stocké sur disque et échangé avec d’autres applications ou ordinateurs. La fonction ` fromBinaryData()` permet de le reconvertir en document JSON.
Remarque : l’encodage JSON binaire n’est conservé qu’à des fins de compatibilité ascendante. Il n’est pas documenté et impose des restrictions quant à la taille maximale des documents JSON pouvant être encodés. Les types JSON de Qt peuvent être convertis en types CBOR de Qt, qui peuvent à leur tour être sérialisés au format binaire CBOR, et inversement. Le format CBOR est une représentation binaire bien définie et moins restrictive d’un sur-ensemble de JSON.
Voir également fromBinaryData() et QCborValue.
© 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.