QBinaryJson Namespace
Contient des fonctions permettant de convertir QJsonDocument au format binaire JSON et inversement. Plus d'informations...
| 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) |
| const char * | toRawData(const QJsonDocument &document, int *size) |
Description détaillée
Cet espace de noms fournit des fonctions utilitaires pour maintenir la compatibilité avec l'ancien code, qui utilise le format binaire JSON pour sérialiser JSON. Les types Qt JSON peuvent être convertis en types Qt CBOR, qui peuvent à leur tour être sérialisés au format binaire CBOR et vice versa.
Documentation des types
enum QBinaryJson::DataValidation
Cette énumération est utilisée pour indiquer à QJsonDocument s'il faut valider les données binaires lors de la conversion en QJsonDocument en utilisant 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 | Contourne la validation des données. N'utilisez cette fonction que si vous avez reçu les données d'une source fiable et que vous savez qu'elles sont valides, car l'utilisation de données non valides peut entraîner un plantage de l'application. |
Documentation de la fonction
QJsonDocument QBinaryJson::fromBinaryData(const QByteArray &data, QBinaryJson::DataValidation validation = Validate)
Crée un site QJsonDocument à partir de data.
validation décide si la validité des données est vérifiée avant leur utilisation. Par défaut, les données sont validées. Si l'adresse data n'est pas valide, la méthode renvoie un document nul.
Remarque : le codage JSON binaire n'est conservé que pour des raisons de compatibilité ascendante. Il n'est pas documenté et est restrictif 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 dans le format binaire CBOR et vice versa. Le format CBOR est une représentation binaire bien définie et moins restrictive pour un surensemble de JSON.
Voir aussi toBinaryData(), fromRawData(), DataValidation, et QCborValue.
QJsonDocument QBinaryJson::fromRawData(const char *data, int size, QBinaryJson::DataValidation validation = Validate)
Crée un QJsonDocument qui utilise les premiers octets de size provenant de data. Il suppose que data contient un document JSON codé en binaire. Le document créé n'est pas propriétaire de data. Les données sont copiées dans une structure de données différente, et les données originales peuvent être supprimées ou modifiées par la suite.
data Les données doivent être alignées sur une frontière de 4 octets.
validation décide si la validité des données est vérifiée avant leur utilisation. Par défaut, les données sont validées. Si le data n'est pas valide, la méthode renvoie un document nul.
renvoie une adresse QJsonDocument représentant les données.
Remarque : le codage JSON binaire n'est conservé que pour des raisons de compatibilité ascendante. Il n'est pas documenté et limite la taille maximale des documents JSON pouvant être encodés. Les types Qt JSON peuvent être convertis en types Qt CBOR, qui peuvent à leur tour être sérialisés dans le format binaire CBOR et vice versa. Le format CBOR est une représentation binaire bien définie et moins restrictive pour un surensemble de JSON.
Remarque : avant Qt 5.15, l'appelant devait garantir que data ne serait pas supprimé ou modifié tant que les données étaient référencées par QJsonDocument, QJsonObject ou QJsonArray. À partir de Qt 5.15, cela n'est plus nécessaire.
Voir aussi toRawData(), fromBinaryData(), DataValidation, et QCborValue.
QByteArray QBinaryJson::toBinaryData(const QJsonDocument &document)
Renvoie une représentation binaire de document.
La représentation binaire est également le format natif utilisé en interne dans Qt, et est très efficace et rapide à convertir.
Le format binaire peut être stocké sur le disque et échangé avec d'autres applications ou ordinateurs. fromBinaryData() peut être utilisé pour le reconvertir en document JSON.
Remarque : le codage JSON binaire n'est conservé que pour des raisons de compatibilité ascendante. Il n'est pas documenté et limite la taille maximale des documents JSON qui peuvent être encodés. Les types JSON de Qt peuvent être convertis en types CBOR de Qt, qui peuvent à leur tour être sérialisés dans le format binaire CBOR et vice versa. Le format CBOR est une représentation binaire bien définie et moins restrictive pour un surensemble de JSON.
Voir aussi fromBinaryData() et QCborValue.
const char *QBinaryJson::toRawData(const QJsonDocument &document, int *size)
Renvoie la représentation binaire brute de document. size contiendra la taille des données renvoyées.
Cette méthode est utile, par exemple, pour transmettre le document JSON sous sa forme binaire à un fichier.
Remarque : le codage JSON binaire n'est conservé que pour des raisons de compatibilité ascendante. Il n'est pas documenté et est restrictif 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 dans le format binaire CBOR et vice versa. Le format CBOR est une représentation binaire bien définie et moins restrictive pour un surensemble de JSON.
Voir aussi fromRawData(), fromBinaryData(), toBinaryData(), 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.