QBinaryJson Namespace
Enthält Funktionen zur Konvertierung von QJsonDocument in das binäre JSON-Format und zurück. Mehr...
| Header: | #include <QBinaryJson> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS Core5Compat) target_link_libraries(mytarget PRIVATE Qt6::Core5Compat) |
| qmake: | QT += core5compat |
Typen
| enum | DataValidation { Validate, BypassValidation } |
Funktionen
| 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) |
Ausführliche Beschreibung
Dieser Namensraum stellt Hilfsfunktionen bereit, um die Kompatibilität mit älterem Code zu gewährleisten, der das JSON-Binärformat zur Serialisierung von JSON verwendet. Qt-JSON-Typen können in Qt-CBOR-Typen konvertiert werden, die wiederum in das CBOR-Binärformat serialisiert werden können und umgekehrt.
Typdokumentation
enum QBinaryJson::DataValidation
Diese Enumeration wird verwendet, um „ QJsonDocument “ mitzuteilen, ob die Binärdaten bei der Konvertierung in einen „ QJsonDocument “ mithilfe von „ fromBinaryData()“ oder „ fromRawData()“ validiert werden sollen.
| Konstante | Wert | Beschreibung |
|---|---|---|
QBinaryJson::Validate | 0 | Die Daten vor der Verwendung validieren. Dies ist die Standardeinstellung. |
QBinaryJson::BypassValidation | 1 | Umgeht die Datenvalidierung. Verwenden Sie diese Option nur, wenn Sie die Daten von einer vertrauenswürdigen Quelle erhalten haben und wissen, dass sie gültig sind, da die Verwendung ungültiger Daten zum Absturz der Anwendung führen kann. |
Funktionsdokumentation
QJsonDocument QBinaryJson::fromBinaryData(const QByteArray &data, QBinaryJson::DataValidation validation = Validate)
Erstellt ein „ QJsonDocument “ aus „ data “.
validation Legt fest, ob die Daten vor ihrer Verwendung auf Gültigkeit geprüft werden. Standardmäßig werden die Daten validiert. Ist das „ data “ ungültig, gibt die Methode ein Null-Dokument zurück.
Hinweis: Die binäre JSON-Kodierung wird nur aus Gründen der Abwärtskompatibilität beibehalten. Sie ist undokumentiert und schränkt die maximale Größe der JSON-Dokumente ein, die kodiert werden können. Qt-JSON-Typen können in Qt-CBOR-Typen konvertiert werden, die wiederum in das binäre CBOR-Format serialisiert werden können und umgekehrt. Das CBOR-Format ist eine genau definierte und weniger restriktive binäre Darstellung für eine Obermenge von JSON.
Siehe auch toBinaryData(), fromRawData(), DataValidation sowie QCborValue.
QJsonDocument QBinaryJson::fromRawData(const char *data, int size, QBinaryJson::DataValidation validation = Validate)
Erstellt ein ` QJsonDocument `, das die ersten ` size ` Bytes aus ` data` verwendet. Dabei wird davon ausgegangen, dass ` data ` ein binär kodiertes JSON-Dokument enthält. Das erstellte Dokument übernimmt keine Eigentumsrechte an ` data`. Die Daten werden in eine andere Datenstruktur kopiert, und die Originaldaten können anschließend gelöscht oder geändert werden.
data muss an einer 4-Byte-Grenze ausgerichtet sein.
validation Legt fest, ob die Daten vor ihrer Verwendung auf Gültigkeit geprüft werden. Standardmäßig werden die Daten validiert. Ist das data ungültig, gibt die Methode ein Null-Dokument zurück.
Gibt ein „ QJsonDocument “ zurück, das die Daten repräsentiert.
Hinweis: Die binäre JSON-Kodierung wird nur aus Gründen der Abwärtskompatibilität beibehalten. Sie ist undokumentiert und schränkt die maximale Größe der JSON-Dokumente ein, die kodiert werden können. Qt-JSON-Typen können in Qt-CBOR-Typen konvertiert werden, die wiederum in das binäre CBOR-Format serialisiert werden können und umgekehrt. Das CBOR-Format ist eine klar definierte und weniger restriktive binäre Darstellung für eine Obermenge von JSON.
Hinweis: Vor Qt 5.15 musste der Aufrufer sicherstellen, dass „ data “ nicht gelöscht oder geändert wurde, solange noch ein „ QJsonDocument “, „ QJsonObject “ oder „ QJsonArray “ auf die Daten verwies. Ab Qt 5.15 ist dies nicht mehr erforderlich.
Siehe auch toRawData(), fromBinaryData(), DataValidation und QCborValue.
QByteArray QBinaryJson::toBinaryData(const QJsonDocument &document)
Gibt eine binäre Darstellung von document zurück.
Die binäre Darstellung ist zugleich das native Format, das intern in Qt verwendet wird, und lässt sich sehr effizient und schnell konvertieren.
Das binäre Format kann auf der Festplatte gespeichert und mit anderen Anwendungen oder Computern ausgetauscht werden. Mit ` fromBinaryData()` lässt es sich wieder in ein JSON-Dokument konvertieren.
Hinweis: Die binäre JSON-Kodierung wird nur aus Gründen der Abwärtskompatibilität beibehalten. Sie ist undokumentiert und unterliegt Einschränkungen hinsichtlich der maximalen Größe der JSON-Dokumente, die kodiert werden können. Qt-JSON-Typen können in Qt-CBOR-Typen konvertiert werden, die wiederum in das binäre CBOR-Format serialisiert werden können und umgekehrt. Das CBOR-Format ist eine genau definierte und weniger restriktive binäre Darstellung für eine Obermenge von JSON.
Siehe auch ` fromBinaryData()` und ` 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.