QBinaryJson Namespace

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

Header: #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()、DataValidationQCborValueも参照

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も参照してください

本ドキュメントに含まれる文書の著作権は、それぞれの所有者に帰属します 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。