Spec-Zone.ru › Qt 5.6

Класс QJsonValue

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

Заголовок: #include <QJsonValue>
qmake: QT += core
С момента: Qt 5.0
  • Список всех членов, включая унаследованные

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

Типы

Перечисление Тип { Null, Bool, Double, String, ..., Undefined }

Открытые функции

QJsonValue(Тип тип = Null)
QJsonValue(bool b)
QJsonValue(double n)
QJsonValue(int n)
QJsonValue(qint64 n)
QJsonValue(const QString &s)
QJsonValue(QLatin1String s)
QJsonValue(const char *s)
QJsonValue(const QJsonArray &a)
QJsonValue(const QJsonObject &o)
QJsonValue(const QJsonValue &other)
~QJsonValue()
bool isArray() const
bool isBool() const
bool isDouble() const
bool isNull() const
bool isObject() const
bool isString() const
bool isUndefined() const
QJsonArray toArray(const QJsonArray &defaultValue) const
QJsonArray toArray() const
bool toBool(bool defaultValue = false) const
double toDouble(double defaultValue = 0) const
int toInt(int defaultValue = 0) const
QJsonObject toObject(const QJsonObject &defaultValue) const
QJsonObject toObject() const
QString toString(const QString &defaultValue = QString()) const
QVariant toVariant() const
Тип type() const
bool operator!=(const QJsonValue &other) const
QJsonValue & operator=(const QJsonValue &other)
bool operator==(const QJsonValue &other) const

Статические открытые члены

QJsonValue fromVariant(const QVariant &variant)

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

Класс QJsonValue инкапсулирует значение в формате JSON.

Значение в JSON может быть одного из 6 основных типов:

JSON — это формат для хранения структурированных данных. Он имеет 6 основных типов данных:

  • bool QJsonValue::Bool
  • double QJsonValue::Double
  • string QJsonValue::String
  • массив QJsonValue::Array
  • объект QJsonValue::Object
  • null QJsonValue::Null

Значение может представлять любой из вышеперечисленных типов данных. Кроме того, QJsonValue имеет один специальный флаг для представления неопределенных значений. Это можно запросить с помощью isUndefined().

Тип значения можно запросить с помощью type() или с помощью аксессоров, таких как isBool(), isString() и т.д. Аналогично, значение можно преобразовать в тип, хранящийся в нём, с помощью toBool(), toString() и т.д.

Значения имеют строгий тип внутри и, в отличие от QVariant, не пытаются выполнять неявные преобразования типов. Это означает, что преобразование в тип, который не хранится в значении, вернёт значение по умолчанию.

QJsonValueRef

QJsonValueRef — вспомогательный класс для QJsonArray и QJsonObject. Когда вы получаете объект типа QJsonValueRef, вы можете использовать его так, как будто это ссылка на QJsonValue. Если вы присваиваете ему значение, присваивание будет применяться к элементу в QJsonArray или QJsonObject, из которого вы получили ссылку.

Следующие методы возвращают QJsonValueRef:

  • QJsonArray::operator[](int i)
  • QJsonObject::operator[](const QString & ключ) const

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

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

перечисление QJsonValue::Тип

Это перечисление описывает тип значения JSON.

Постоянная Значение Описание
QJsonValue::Null 0x0 Значение Null
QJsonValue::Bool 0x1 Булевое значение. Используйте toBool() для преобразования в bool.
QJsonValue::Double 0x2 Число с плавающей запятой. Используйте toDouble() для преобразования в double.
QJsonValue::String 0x3 Строка. Используйте toString() для преобразования в QString.
QJsonValue::Array 0x4 Массив. Используйте toArray() для преобразования в QJsonArray.
QJsonValue::Object 0x5 Объект. Используйте toObject() для преобразования в QJsonObject.
QJsonValue::Undefined 0x80 Значение не определено. Обычно возвращается в качестве условия ошибки, при попытке чтения значения за пределами массива или несуществующего ключа в объекте.

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

QJsonValue::QJsonValue(Type type = Null)

Создаёт QJsonValue типа type.

По умолчанию создаётся значение Null.

QJsonValue::QJsonValue(bool b)

Создаёт значение типа Bool со значением b.

QJsonValue::QJsonValue(double n)

Создаёт значение типа Double со значением n.

QJsonValue::QJsonValue(int n)

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

Создаёт значение типа Double со значением n.

QJsonValue::QJsonValue(qint64 n)

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

Создаёт значение типа Double со значением n. ПРИМЕЧАНИЕ: пределы целых чисел для данных двойной точности IEEE 754 составляют 2^53 (-9007199254740992 до +9007199254740992). Если вы передаёте значения за пределами этого диапазона, ожидайте потери точности.

QJsonValue::QJsonValue(const QString &s)

Создаёт значение типа String со значением s.

QJsonValue::QJsonValue(QLatin1String s)

Создаёт значение типа String со значением s.

QJsonValue::QJsonValue(const char *s)

Создаёт значение типа String со значением s, предполагая кодировку UTF-8 на входе.

Вы можете отключить этот конструктор, определив QT_NO_CAST_FROM_ASCII при компиляции своих приложений.

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

QJsonValue::QJsonValue(const QJsonArray &a)

Создаёт значение типа Array со значением a.

QJsonValue::QJsonValue(const QJsonObject &o)

Создаёт значение типа Object со значением o.

QJsonValue::QJsonValue(const QJsonValue &other)

Создаёт копию other.

QJsonValue::~QJsonValue()

Удаляет значение.

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

Преобразует variant в QJsonValue и возвращает его.

Преобразование выполнится следующим образом:

Исходный тип Целевой тип
  • QMetaType::Bool
QJsonValue::Bool
  • QMetaType::Int
  • QMetaType::UInt
  • QMetaType::LongLong
  • QMetaType::ULongLong
  • QMetaType::Float
  • QMetaType::Double
QJsonValue::Double
  • QMetaType::QString
QJsonValue::String
  • QMetaType::QStringList
  • QMetaType::QVariantList
QJsonValue::Array
  • QMetaType::QVariantMap
  • QMetaType::QVariantHash
QJsonValue::Object

Для всех остальных типов QVariant будет выполнено преобразование в QString. Если возвращённая строка пустая, хранится Null QJsonValue, в противном случае — строковое значение, использующее возвращённый QString.

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

bool QJsonValue::isArray() const

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

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

bool QJsonValue::isBool() const

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

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

bool QJsonValue::isDouble() const

Возвращает true если значение содержит число с плавающей запятой.

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

bool QJsonValue::isNull() const

Возвращает true если значение null.

bool QJsonValue::isObject() const

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

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

bool QJsonValue::isString() const

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

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

bool QJsonValue::isUndefined() const

Возвращает true если значение не определено. Это может произойти в определённых случаях ошибок, например, при обращении к несуществующему ключу в QJsonObject.

QJsonArray QJsonValue::toArray(const QJsonArray &defaultValue) const

Преобразует значение в массив и возвращает его.

Если type() не является массивом, возвращается defaultValue.

QJsonArray QJsonValue::toArray() const

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

Преобразует значение в массив и возвращает его.

Если type() не является массивом, возвращается QJsonArray().

bool QJsonValue::toBool(bool defaultValue = false) const

Преобразует значение в bool и возвращает его.

Если type() не является bool, возвращается defaultValue.

double QJsonValue::toDouble(double defaultValue = 0) const

Преобразует значение в double и возвращает его.

Если type() не является Double, возвращается defaultValue.

int QJsonValue::toInt(int defaultValue = 0) const

Преобразует значение в int и возвращает его.

Если type() не является Double или значение не является целым числом, возвращается defaultValue.

QJsonObject QJsonValue::toObject(const QJsonObject &defaultValue) const

Преобразует значение в объект и возвращает его.

Если type() не является Object, возвращается defaultValue.

QJsonObject QJsonValue::toObject() const

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

Преобразует значение в объект и возвращает его.

Если type() не является Object, возвращается QJsonObject().

QString QJsonValue::toString(const QString &defaultValue = QString()) const

Преобразует значение в QString и возвращает его.

Если type() не является String, возвращается defaultValue.

QVariant QJsonValue::toVariant() const

Преобразует значение в QVariant().

Типы QJsonValue будут преобразованы следующим образом:

Константа Описание
Null QVariant()
Bool QMetaType::Bool
Double QMetaType::Double
String QString
Array QVariantList
Object QVariantMap
Undefined QVariant()

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

Type QJsonValue::type() const

Возвращает тип значения.

См. также QJsonValue::Type.

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

Возвращает true, если значение не равно other.

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

Присваивает значение, хранящееся в other, этому объекту.

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

Возвращает true, если значение равно other.

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

Spec-Zone.ru

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