Spec-Zone.ru › Qt 6.0

Класс QJsonDocument

Класс QJsonDocument предоставляет способ чтения и записи документов JSON. Подробнее...

Заголовок: #include <QJsonDocument>
CMake: find_package(Qt6 COMPONENTS Core REQUIRED) target_link_libraries(mytarget PRIVATE Qt6::Core)
qmake: QT += core
С момента: Qt 5.0
  • Список всех членов, включая унаследованные

Примечание: Все функции в этом классе являются реентерабельными.

Типы публичного доступа

Перечисление JsonFormat { Отступы, Компактный }

Функции публичного доступа

QJsonDocument(QJsonDocument &&other)
QJsonDocument(const QJsonDocument &other)
QJsonDocument(const QJsonArray &array)
QJsonDocument(const QJsonObject &object)
QJsonDocument()
QJsonDocument & operator=(QJsonDocument &&other)
QJsonDocument & operator=(const QJsonDocument &other)
~QJsonDocument()
QJsonArray array() const
bool isArray() const
bool isEmpty() const
bool isNull() const
bool isObject() const
QJsonObject object() const
void setArray(const QJsonArray &array)
void setObject(const QJsonObject &object)
void swap(QJsonDocument &other)
QByteArray toJson(QJsonDocument::JsonFormat format = Indented) const
QVariant toVariant() const
bool operator!=(const QJsonDocument &other) const
bool operator==(const QJsonDocument &other) const
const QJsonValue operator[](const QString &key) const
const QJsonValue operator[](QStringView key) const
const QJsonValue operator[](QLatin1String key) const
const QJsonValue operator[](qsizetype i) const

Статические члены публичного доступа

QJsonDocument fromJson(const QByteArray &json, QJsonParseError *error = nullptr)
QJsonDocument fromVariant(const QVariant &variant)

Подробное описание

QJsonDocument — это класс, который оборачивает полный документ JSON и может читать этот документ из, и записывать его в, UTF-8 кодированное текстовое представление.

Документ JSON может быть преобразован из его текстового представления в QJsonDocument с помощью QJsonDocument::fromJson(). toJson() преобразует его обратно в текст. Парсер очень быстрый и эффективный и преобразует JSON в двоичное представление, используемое Qt.

Проверка валидности прочитанного документа может быть выполнена с помощью !isNull()

Документ можно проверить на наличие массива или объекта, используя isArray() и isObject(). Массив или объект, содержащиеся в документе, могут быть извлечены с помощью array() или object(), а затем прочитаны или обработаны.

См. также Поддержка JSON в Qt и Пример сохранения игры в формате JSON.

Документация по типам членов

[since 5.1] Перечисление QJsonDocument::JsonFormat

Это значение определяет формат массива байтов JSON, создаваемого при преобразовании в QJsonDocument с помощью toJson().

Константа Значение Описание
QJsonDocument::Indented 0 Определяет удобочитаемый вывод следующим образом:
    {
        "Array": [
            true,
            999,
            "string"
        ],
        "Key": "Value",
        "null": null
    }
QJsonDocument::Compact 1 Определяет компактный вывод следующим образом:
    {"Array":[true,999,"string"],"Key":"Value","null":null}

Это перечисление было добавлено или изменено в Qt 5.1.

Документация по функциям-членам

[since 5.10] QJsonDocument::QJsonDocument(QJsonDocument &&other)

Перемещающее конструктор QJsonDocument из other.

Эта функция была добавлена в Qt 5.10.

QJsonDocument::QJsonDocument(const QJsonDocument &other)

Создает копию документа other.

QJsonDocument::QJsonDocument(const QJsonArray &array)

Создает QJsonDocument из array.

QJsonDocument::QJsonDocument(const QJsonObject &object)

Создает QJsonDocument из object.

QJsonDocument::QJsonDocument()

Создает пустой и некорректный документ.

[since 5.10] QJsonDocument &QJsonDocument::operator=(QJsonDocument &&other)

Перемещающая присваивание other данному документу.

Эта функция была добавлена в Qt 5.10.

QJsonDocument &QJsonDocument::operator=(const QJsonDocument &other)

Присваивает документ other данному QJsonDocument. Возвращает ссылку на этот объект.

QJsonDocument::~QJsonDocument()

Удаляет документ.

Двоичные данные, установленные с помощью fromRawData, не освобождаются.

QJsonArray QJsonDocument::array() const

Возвращает QJsonArray, содержащийся в документе.

Возвращает пустой массив, если документ содержит объект.

См. также isArray(), object(), и setArray().

[static] QJsonDocument QJsonDocument::fromJson(const QByteArray &json, QJsonParseError *error = nullptr)

Парсит json как документ JSON в кодировке UTF-8 и создаёт из него QJsonDocument.

Возвращает допустимый (не нулевой) QJsonDocument, если парсинг прошёл успешно. Если произошла ошибка, возвращаемый документ будет нулевым, а необязательная переменная error будет содержать дополнительные сведения об ошибке.

См. также toJson(), QJsonParseError и isNull().

[static] QJsonDocument QJsonDocument::fromVariant(const QVariant &variant)

Создаёт QJsonDocument из QVariant variant.

Если variant содержит тип, отличный от QVariantMap, QVariantHash, QVariantList или QStringList, возвращаемый документ будет недопустимым.

См. также toVariant().

bool QJsonDocument::isArray() const

Возвращает true если документ содержит массив.

См. также array() и isObject().

bool QJsonDocument::isEmpty() const

Возвращает true если документ не содержит данных.

bool QJsonDocument::isNull() const

Возвращает true если этот документ нулевой.

Нулевые документы создаются через конструктор по умолчанию.

Документы, созданные из текста в кодировке UTF-8 или двоичного формата, проверяются на корректность во время парсинга. Если проверка не пройдена, возвращаемый документ также будет нулевым.

bool QJsonDocument::isObject() const

Возвращает true если документ содержит объект.

См. также object() и isArray().

QJsonObject QJsonDocument::object() const

Возвращает QJsonObject, содержащийся в документе.

Возвращает пустой объект, если документ содержит массив.

См. также isObject(), array() и setObject().

void QJsonDocument::setArray(const QJsonArray &array)

Устанавливает array в качестве основного объекта этого документа.

См. также setObject() и array().

void QJsonDocument::setObject(const QJsonObject &object)

Устанавливает object в качестве основного объекта этого документа.

См. также setArray() и object().

[since 5.10] void QJsonDocument::swap(QJsonDocument &other)

Меняет местами этот документ и документ other. Эта операция очень быстрая и никогда не завершается неудачей.

Эта функция была добавлена в Qt 5.10.

[since 5.1] QByteArray QJsonDocument::toJson(QJsonDocument::JsonFormat format = Indented) const

Преобразует QJsonDocument в документ JSON в кодировке UTF-8 в указанном формате format.

Эта функция была добавлена в Qt 5.1.

См. также fromJson() и JsonFormat.

QVariant QJsonDocument::toVariant() const

Возвращает QVariant, представляющий документ Json.

Возвращаемый объект будет QVariantList, если документ является QJsonArray, и QVariantMap, если документ является QJsonObject.

См. также fromVariant() и QJsonValue::toVariant().

bool QJsonDocument::operator!=(const QJsonDocument &other) const

Возвращает true если other не равно этому документу.

bool QJsonDocument::operator==(const QJsonDocument &other) const

Возвращает true если документ other равен этому документу.

[since 5.10] const QJsonValue QJsonDocument::operator[](const QString &key) const

Возвращает QJsonValue, представляющий значение для ключа key.

Эквивалентно вызову object().value(key).

Возвращаемый QJsonValue равен QJsonValue::Undefined, если ключ не существует или если isObject() равно false.

Эта функция была добавлена в Qt 5.10.

См. также QJsonValue, QJsonValue::isUndefined() и QJsonObject.

[since 5.14] const QJsonValue QJsonDocument::operator[](QStringView key) const

Это перегруженная функция.

Эта функция была добавлена в Qt 5.14.

[since 5.10] const QJsonValue QJsonDocument::operator[](QLatin1String key) const

Это перегруженная функция.

Эта функция была добавлена в Qt 5.10.

[since 5.10] const QJsonValue QJsonDocument::operator[](qsizetype i) const

Возвращает QJsonValue, представляющий значение для индекса i.

Эквивалентно вызову array().at(i).

Возвращаемый QJsonValue равен QJsonValue::Undefined, если i находится вне границ или если isArray() равно false.

Эта функция была добавлена в Qt 5.10.

См. также QJsonValue, QJsonValue::isUndefined() и QJsonArray.

© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-6.0/qjsondocument.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API