QBinaryJson Namespace

QJsonDocument を JSON バイナリ形式に変換する関数が含まれています。詳細...

ヘッダー #include <QBinaryJson>
CMake: find_package(Qt6 REQUIRED COMPONENTS Core5Compat)
target_link_libraries(mytarget PRIVATE Qt6::Core5Compat)
qmake: QT += core5compat

enum DataValidation { Validate, BypassValidation }

関数

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)

詳細な説明

この名前空間は、JSONのシリアライズにJSONバイナリフォーマットを使用する古いコードとの互換性を保つためのユーティリティ関数を提供します。Qt JSON 型は Qt CBOR 型に変換することができ、CBOR バイナリフォーマットにシリアライズすることができます。

型のドキュメント

enum QBinaryJson::DataValidation

この列挙型は、fromBinaryData() またはfromRawData() を使用してQJsonDocument に変換するときに、バイナリデータを検証するかどうかをQJsonDocument に指示するために使用される。

定数説明
QBinaryJson::Validate0使用する前にデータを検証します。これがデフォルトです。
QBinaryJson::BypassValidation1データの検証をバイパスします。無効なデータを使用するとアプリケーションがクラッシュする可能性があります。

関数のドキュメント

QJsonDocument QBinaryJson::fromBinaryData(const QByteArray &data, QBinaryJson::DataValidation validation = Validate)

data からQJsonDocument を作成する。

validation は、使用前にデータの有効性をチェックするかどうかを決定します。デフォルトでは、データは検証されます。 が有効でない場合、メソッドは NULL ドキュメントを返します。data

注: バイナリJSONエンコーディングは、後方互換性のためだけに保持されています。これは文書化されておらず、エンコードできるJSONドキュメントの最大サイズに制限があります。Qt JSON型はQt CBOR型に変換することができ、CBORバイナリフォーマットにシリアライズすることができます。CBORフォーマットは、JSONのスーパーセットとして定義された、制限の少ないバイナリ表現です。

toBinaryData(),fromRawData(),DataValidation,QCborValueも参照してください

QJsonDocument QBinaryJson::fromRawData(const char *data, int size, QBinaryJson::DataValidation validation = Validate)

data から最初のsize バイトを使用するQJsonDocument を作成する。data にはバイナリ符号化された JSON ドキュメントが含まれていると仮定する。作成されたドキュメントはdata の所有権を取らない。 データは別のデータ構造にコピーされ、その後、元のデータを削除または変更することができる。

data は4バイト境界にアライメントされなければならない。

validation は、使用前にデータの有効性をチェックするかどうかを決定する。デフォルトではデータは有効である。 が有効でない場合、メソッドは NULL ドキュメントを返します。data

データを表すQJsonDocument を返します。

注: バイナリJSONエンコーディングは、後方互換性のためだけに保持されています。これは文書化されておらず、エンコードできるJSONドキュメントの最大サイズに制限があります。Qt JSON型はQt CBOR型に変換することができ、CBORバイナリフォーマットにシリアライズすることができます。CBORフォーマットは、JSONのスーパーセットとして定義された、制限の少ないバイナリ表現です。

注意: Qt 5.15以前では、QJsonDocumentQJsonObjectQJsonArray がまだデータを参照している限り、data が削除されたり変更されたりしないことを呼び出し側が保証する必要がありました。Qt 5.15以降、この保証は必要なくなりました。

toRawData()、fromBinaryData()、DataValidationQCborValueも参照してください

QByteArray QBinaryJson::toBinaryData(const QJsonDocument &document)

document のバイナリ表現を返します。

バイナリ表現はQt内部で使用されるネイティブフォーマットでもあり、非常に効率的で高速な変換が可能です。

バイナリ形式はディスクに保存でき、他のアプリケーションやコンピュータと交換できます。fromBinaryData()を使ってJSONドキュメントに戻すことができます。

注: バイナリJSONエンコーディングは、後方互換性のためだけに保持されています。これは文書化されておらず、エンコードできる JSON ドキュメントの最大サイズに制限があります。Qt JSON型はQt CBOR型に変換することができ、CBORバイナリフォーマットにシリアライズすることができます。CBORフォーマットは、JSONのスーパーセットとして定義された、制限の少ないバイナリ表現です。

fromBinaryData() とQCborValueも参照してください

const char *QBinaryJson::toRawData(const QJsonDocument &document, int *size)

document の生のバイナリ表現を返す。size には、返されたデータのサイズが格納される。

このメソッドは、バイナリ形式の JSON ドキュメントをファイルにストリーミングするときなどに便利です。

注意: バイナリJSONエンコーディングは、後方互換性のためだけに保持されています。これは文書化されておらず、エンコードできるJSONドキュメントの最大サイズに制限があります。Qt JSON型はQt CBOR型に変換することができ、CBORバイナリフォーマットにシリアライズすることができます。CBORフォーマットは、JSONのスーパーセットとして定義された、制限の少ないバイナリ表現です。

fromRawData(),fromBinaryData(),toBinaryData(),QCborValueも参照してください

© 2025 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.