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) |
詳細な説明
この名前空間は、JSONのシリアライズにJSONバイナリ形式を使用している古いコードとの互換性を維持するためのユーティリティ関数を提供します。QtのJSON型はQtのCBOR型に変換でき、さらにCBORバイナリ形式にシリアライズすることが可能です。その逆の変換も可能です。
型のドキュメント
enum QBinaryJson::DataValidation
この列挙型は、fromBinaryData() またはfromRawData() を使用して `QJsonDocument ` へ変換する際、QJsonDocument がバイナリデータの検証を行うかどうかを指定するために使用されます。
| 定数 | 定数名 値 | 説明 |
|---|---|---|
QBinaryJson::Validate | 0 | データを使用する前に検証を行います。これがデフォルトの設定です。 |
QBinaryJson::BypassValidation | 1 | データ検証をバイパスします。信頼できる場所からデータを受け取り、そのデータが有効であることを確認している場合にのみ使用してください。無効なデータを使用すると、アプリケーションがクラッシュする可能性があります。 |
関数のドキュメント
QJsonDocument QBinaryJson::fromBinaryData(const QByteArray &data, QBinaryJson::DataValidation validation = Validate)
data からQJsonDocument を作成します。
validation データを使用する前にその有効性をチェックするかどうかを決定します。デフォルトでは、データの有効性が検証されます。data が無効な場合、このメソッドはnullドキュメントを返します。
注: バイナリ 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 データを使用する前に有効性をチェックするかどうかを決定します。デフォルトでは、データの有効性が検証されます。data が有効でない場合、このメソッドはnullドキュメントを返します。
データを表すQJsonDocument を返します。
注: バイナリ JSON エンコーディングは 、下位互換性のためにのみ維持されています。これはドキュメント化されておらず、エンコード可能な JSON ドキュメントの最大サイズに制限があります。 Qt JSON 型は Qt CBOR 型に変換でき、さらに CBOR バイナリ形式にシリアライズ可能です。その逆も同様です。CBOR 形式は、JSON のスーパーセットに対する、明確に定義され、制限の少ないバイナリ表現です。
注: Qt 5.15以前では 、QJsonDocument 、QJsonObject 、またはQJsonArray のいずれかがまだデータを参照している限り、data が削除または変更されないことを呼び出し側が保証する必要がありました。Qt 5.15 以降、これはもはや必要ありません。
toRawData()、fromBinaryData()、DataValidation 、およびQCborValueも参照してください 。
QByteArray QBinaryJson::toBinaryData(const QJsonDocument &document)
document のバイナリ表現を返します。
このバイナリ表現は、Qt内部でネイティブに使用されている形式でもあり、JSONとの相互変換が非常に効率的で高速です。
バイナリ形式はディスクに保存したり、他のアプリケーションやコンピュータと交換したりすることができます。fromBinaryData() を使用すると、これを JSON ドキュメントに再変換することができます。
注: バイナリ JSON エンコーディングは 、下位互換性を維持するためにのみ残されています。これは文書化されておらず、エンコード可能な JSON ドキュメントの最大サイズに制限があります。 Qt JSON 型は Qt CBOR 型に変換でき、さらに CBOR バイナリ形式にシリアライズすることも可能です。その逆も同様です。CBOR 形式は、JSON のスーパーセットに対する、明確に定義され、制限の少ないバイナリ表現です。
fromBinaryData() および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.