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 에 알려주는 데 사용됩니다.
Constant | 값 | 설명 |
---|---|---|
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에서 내부적으로 사용되는 기본 형식이기도 하며, 매우 효율적이고 빠르게 변환하고 변환할 수 있습니다.
바이너리 형식은 디스크에 저장하여 다른 응용 프로그램이나 컴퓨터와 교환할 수 있습니다. 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.