Класс QJsonObject
Класс QJsonObject инкапсулирует JSON-объект. Подробнее...
| Заголовок: | #include <QJsonObject> |
| CMake: | find_package(Qt6 COMPONENTS Core REQUIRED) target_link_libraries(mytarget PRIVATE Qt6::Core) |
| qmake: | QT += core |
| С версии: | Qt 5.0 |
Примечание: Все функции в этом классе являются повторно-входными.
Публичные типы
| класс | const_iterator |
| класс | iterator |
| ConstIterator | |
| Iterator | |
| key_type | |
| mapped_type | |
| size_type |
Публичные функции
| QJsonObject(QJsonObject &&other) | |
| QJsonObject(const QJsonObject &other) | |
| QJsonObject(std::initializer_list<QPair<QString, QJsonValue> > args) | |
| QJsonObject() | |
| QJsonObject & | operator=(QJsonObject &&other) |
| QJsonObject & | operator=(const QJsonObject &other) |
| ~QJsonObject() | |
| QJsonObject::iterator | begin() |
| QJsonObject::const_iterator | begin() const |
| QJsonObject::const_iterator | constBegin() const |
| QJsonObject::const_iterator | constEnd() const |
| QJsonObject::const_iterator | constFind(const QString &key) const |
| QJsonObject::const_iterator | constFind(QStringView key) const |
| QJsonObject::const_iterator | constFind(QLatin1String key) const |
| bool | contains(const QString &key) const |
| bool | contains(QStringView key) const |
| bool | contains(QLatin1String key) const |
| qsizetype | count() const |
| bool | empty() const |
| QJsonObject::iterator | end() |
| QJsonObject::const_iterator | end() const |
| QJsonObject::iterator | erase(QJsonObject::iterator it) |
| QJsonObject::iterator | find(const QString &key) |
| QJsonObject::const_iterator | find(const QString &key) const |
| QJsonObject::iterator | find(QStringView key) |
| QJsonObject::iterator | find(QLatin1String key) |
| QJsonObject::const_iterator | find(QStringView key) const |
| QJsonObject::const_iterator | find(QLatin1String key) const |
| QJsonObject::iterator | insert(const QString &key, const QJsonValue &value) |
| QJsonObject::iterator | insert(QStringView key, const QJsonValue &value) |
| QJsonObject::iterator | insert(QLatin1String key, const QJsonValue &value) |
| bool | isEmpty() const |
| QStringList | keys() const |
| qsizetype | length() const |
| void | remove(const QString &key) |
| void | remove(QStringView key) |
| void | remove(QLatin1String key) |
| qsizetype | size() const |
| void | swap(QJsonObject &other) |
| QJsonValue | take(const QString &key) |
| QJsonValue | take(QStringView key) |
| QJsonValue | take(QLatin1String key) |
| QVariantHash | toVariantHash() const |
| QVariantMap | toVariantMap() const |
| QJsonValue | value(const QString &key) const |
| QJsonValue | value(QStringView key) const |
| QJsonValue | value(QLatin1String key) const |
| bool | operator!=(const QJsonObject &other) const |
| bool | operator==(const QJsonObject &other) const |
| QJsonValue | operator[](const QString &key) const |
| QJsonValueRef | operator[](const QString &key) |
| QJsonValue | operator[](QStringView key) const |
| QJsonValue | operator[](QLatin1String key) const |
| QJsonValueRef | operator[](QStringView key) |
| QJsonValueRef | operator[](QLatin1String key) |
Статические публичные члены
| QJsonObject | fromVariantHash(const QVariantHash &hash) |
| QJsonObject | fromVariantMap(const QVariantMap &map) |
Подробное описание
Объект JSON представляет собой список пар «ключ-значение», где ключи — уникальные строки, а значения представлены объектом QJsonValue.
Объект QJsonObject можно преобразовать в QVariantMap и обратно. Вы можете получить количество пар «ключ-значение» с помощью size(), вставлять и удалять элементы с помощью insert() и remove() соответственно, и перебирать его содержимое с помощью стандартного шаблона итераторов C++.
QJsonObject — это класс с неявной совместной областью памяти, который разделяет данные с документом, из которого он был создан, до тех пор, пока он не изменяется.
Вы можете преобразовать объект в текстовый JSON и обратно с помощью QJsonDocument.
См. также Поддержка JSON в Qt и Пример сохранения игры в формате JSON.
Документация типов членов
QJsonObject::ConstIterator
Синоним в стиле Qt для QJsonObject::const_iterator.
QJsonObject::Iterator
Синоним в стиле Qt для QJsonObject::iterator.
QJsonObject::key_type
Тип-переменная для QString. Предоставлен для совместимости со STL.
QJsonObject::mapped_type
Тип-переменная для QJsonValue. Предоставлен для совместимости со STL.
QJsonObject::size_type
Тип-переменная для qsizetype. Предоставлен для совместимости со STL.
Документация функций-членов
[since 5.10] QJsonObject::QJsonObject(QJsonObject &&other)
Перемещающее создание QJsonObject из other.
Эта функция была добавлена в Qt 5.10.
QJsonObject::QJsonObject(const QJsonObject &other)
Создаёт копию other.
Поскольку QJsonObject использует неявное совместное использование памяти, копия является поверхностной, пока объект не будет изменён.
[since 5.4] QJsonObject::QJsonObject(std::initializer_list<QPair<QString, QJsonValue> > args)
Создаёт экземпляр QJsonObject, инициализированный списком инициализации args. Например:
QJsonObject object
{
{"property1", 1},
{"property2", 2}
}; Эта функция была добавлена в Qt 5.4.
QJsonObject::QJsonObject()
Создаёт пустой JSON-объект.
См. также isEmpty().
[since 5.10] QJsonObject &QJsonObject::operator=(QJsonObject &&other)
Перемещающая присваивает other данному объекту.
Эта функция была добавлена в Qt 5.10.
QJsonObject &QJsonObject::operator=(const QJsonObject &other)
Присваивает other данному объекту.
QJsonObject::~QJsonObject()
Уничтожает объект.
QJsonObject::iterator QJsonObject::begin()
Возвращает итератор в стиле STL, указывающий на первый элемент в объекте.
См. также constBegin() и end().
QJsonObject::const_iterator QJsonObject::begin() const
Это перегруженная функция.
QJsonObject::const_iterator QJsonObject::constBegin() const
Возвращает постоянный итератор в стиле STL, указывающий на первый элемент в объекте.
См. также begin() и constEnd().
QJsonObject::const_iterator QJsonObject::constEnd() const
Возвращает постоянный итератор в стиле STL, указывающий на воображаемый элемент после последнего элемента в объекте.
См. также constBegin() и end().
QJsonObject::const_iterator QJsonObject::constFind(const QString &key) const
Возвращает постоянный итератор, указывающий на элемент с ключом key в map.
Если map не содержит элемента с ключом key, функция возвращает constEnd().
[since 5.14] QJsonObject::const_iterator QJsonObject::constFind(QStringView key) const
Это перегруженная функция.
Эта функция была добавлена в Qt 5.14.
[since 5.7] QJsonObject::const_iterator QJsonObject::constFind(QLatin1String key) const
Это перегруженная функция.
Эта функция была добавлена в Qt 5.7.
bool QJsonObject::contains(const QString &key) const
Возвращает true , если объект содержит ключ key.
См. также insert(), remove() и take().
[since 5.14] bool QJsonObject::contains(QStringView key) const
Это перегруженная функция.
Эта функция была добавлена в Qt 5.14.
[since 5.7] bool QJsonObject::contains(QLatin1String key) const
Это перегруженная функция.
Эта функция была добавлена в Qt 5.7.
qsizetype QJsonObject::count() const
Это перегруженная функция.
То же самое, что и size().
bool QJsonObject::empty() const
Эта функция предоставляется для совместимости со STL. Она эквивалентна isEmpty(), возвращая true , если объект пустой; в противном случае возвращая false.
QJsonObject::iterator QJsonObject::end()
Возвращает итератор в стиле STL, указывающий на воображаемый элемент после последнего элемента в объекте.
См. также begin() и constEnd().
QJsonObject::const_iterator QJsonObject::end() const
Это перегруженная функция.
QJsonObject::iterator QJsonObject::erase(QJsonObject::iterator it)
Удаляет пару (ключ, значение), на которую указывает итератор it из map и возвращает итератор на следующий элемент в map.
См. также remove().
QJsonObject::iterator QJsonObject::find(const QString &key)
Возвращает итератор, указывающий на элемент с ключом key в map.
Если map не содержит элемента с ключом key, функция возвращает end().
QJsonObject::const_iterator QJsonObject::find(const QString &key) const
Это перегруженная функция.
[since 5.14] QJsonObject::iterator QJsonObject::find(QStringView key)
Это перегруженная функция.
Эта функция была добавлена в Qt 5.14.
[since 5.7] QJsonObject::iterator QJsonObject::find(QLatin1String key)
Это перегруженная функция.
Эта функция была добавлена в Qt 5.7.
[since 5.14] QJsonObject::const_iterator QJsonObject::find(QStringView key) const
Это перегруженная функция.
Эта функция была добавлена в Qt 5.14.
[since 5.7] QJsonObject::const_iterator QJsonObject::find(QLatin1String key) const
Это перегруженная функция.
Эта функция была добавлена в Qt 5.7.
[static, since 5.5] QJsonObject QJsonObject::fromVariantHash(const QVariantHash &hash)
Преобразует variant hash hash в QJsonObject.
Ключи в hash будут использоваться в качестве ключей в JSON-объекте, а значения QVariant будут преобразованы в JSON-значения.
Примечание: Преобразование из QVariant не является полностью без потерь. Подробнее см. документацию QJsonValue::fromVariant().
Эта функция была добавлена в Qt 5.5.
END_OF_DOCUMENT_MARKERСм. также fromVariantMap(), toVariantHash() и QJsonValue::fromVariant().
[static] QJsonObject QJsonObject::fromVariantMap(const QVariantMap &map)
Преобразует карту вариантов map в QJsonObject.
Ключи в map будут использованы в качестве ключей в объекте JSON, а значения QVariant будут преобразованы в значения JSON.
Примечание: Преобразование из QVariant не является полностью без потерь. Дополнительную информацию см. в документации QJsonValue::fromVariant().
См. также fromVariantHash(), toVariantMap() и QJsonValue::fromVariant().
QJsonObject::iterator QJsonObject::insert(const QString &key, const QJsonValue &value)
Вставляет новый элемент с ключом key и значением value.
Если элемент с ключом key уже существует, его значение заменяется на value.
Возвращает итератор, указывающий на вставленный элемент.
Если значение равно QJsonValue::Undefined, ключ будет удален из объекта. Возвращённый итератор укажет на end().
См. также remove(), take(), QJsonObject::iterator и end().
[since 5.14] QJsonObject::iterator QJsonObject::insert(QStringView key, const QJsonValue &value)
Это перегруженная функция.
Эта функция была добавлена в Qt 5.14.
[since 5.14] QJsonObject::iterator QJsonObject::insert(QLatin1String key, const QJsonValue &value)
Это перегруженная функция.
Эта функция была добавлена в Qt 5.14.
bool QJsonObject::isEmpty() const
Возвращает true, если объект пуст. Это эквивалентно size() == 0.
См. также size().
QStringList QJsonObject::keys() const
Возвращает список всех ключей в этом объекте.
Список отсортирован лексикографически.
qsizetype QJsonObject::length() const
Это перегруженная функция.
То же самое, что и size().
void QJsonObject::remove(const QString &key)
Удаляет key из объекта.
[since 5.14] void QJsonObject::remove(QStringView key)
Это перегруженная функция.
Эта функция была добавлена в Qt 5.14.
[since 5.14] void QJsonObject::remove(QLatin1String key)
Это перегруженная функция.
Эта функция была добавлена в Qt 5.14.
qsizetype QJsonObject::size() const
Возвращает количество пар (ключ, значение), хранящихся в объекте.
[since 5.10] void QJsonObject::swap(QJsonObject &other)
Меняет местами объект other и этот. Это операция очень быстрая и никогда не терпит неудачу.
Эта функция была добавлена в Qt 5.10.
QJsonValue QJsonObject::take(const QString &key)
Удаляет key из объекта.
Возвращает QJsonValue, содержащее значение, на которое ссылается key. Если key не содержится в объекте, возвращаемое QJsonValue равно QJsonValue::Undefined.
См. также insert(), remove() и QJsonValue.
[since 5.14] QJsonValue QJsonObject::take(QStringView key)
Это перегруженная функция.
Эта функция была добавлена в Qt 5.14.
[since 5.14] QJsonValue QJsonObject::take(QLatin1String key)
Это перегруженная функция.
Эта функция была добавлена в Qt 5.14.
[since 5.5] QVariantHash QJsonObject::toVariantHash() const
Преобразует этот объект в QVariantHash.
Возвращает созданную хеш-таблицу.
Эта функция была добавлена в Qt 5.5.
См. также toVariantMap().
QVariantMap QJsonObject::toVariantMap() const
Преобразует этот объект в QVariantMap.
Возвращает созданную карту.
См. также toVariantHash().
QJsonValue QJsonObject::value(const QString &key) const
Возвращает QJsonValue, представляющее значение для ключа key.
Возвращаемое QJsonValue равно QJsonValue::Undefined, если ключ не существует.
См. также QJsonValue и QJsonValue::isUndefined().
[since 5.14] QJsonValue QJsonObject::value(QStringView key) const
Это перегруженная функция.
Эта функция была добавлена в Qt 5.14.
[since 5.7] QJsonValue QJsonObject::value(QLatin1String key) const
Это перегруженная функция.
Эта функция была добавлена в Qt 5.7.
bool QJsonObject::operator!=(const QJsonObject &other) const
Возвращает true если other не равно этому объекту.
bool QJsonObject::operator==(const QJsonObject &other) const
Возвращает true если other равно этому объекту.
QJsonValue QJsonObject::operator[](const QString &key) const
Возвращает QJsonValue, представляющее значение для ключа key.
Это делает то же самое, что и value().
Возвращаемое QJsonValue равно QJsonValue::Undefined, если ключ не существует.
См. также value(), QJsonValue и QJsonValue::isUndefined().
QJsonValueRef QJsonObject::operator[](const QString &key)
Возвращает ссылку на значение для key. Если в объекте нет значения с ключом key, создаётся новое со значением QJsonValue::Null и затем возвращается.
Значение возврата имеет тип QJsonValueRef, вспомогательный класс для QJsonArray и QJsonObject. Когда вы получаете объект типа QJsonValueRef, вы можете использовать его так, как будто это ссылка на QJsonValue. Если вы присваиваете ему значение, это присваивание будет применимо к элементу в QJsonArray или QJsonObject, из которого вы получили ссылку.
См. также value().
[since 5.14] QJsonValue QJsonObject::operator[](QStringView key) const
Это перегруженная функция.
Эта функция была добавлена в Qt 5.14.
[since 5.7] QJsonValue QJsonObject::operator[](QLatin1String key) const
Это перегруженная функция.
Эта функция была добавлена в Qt 5.7.
[since 5.14] QJsonValueRef QJsonObject::operator[](QStringView key)
Это перегруженная функция.
Эта функция была добавлена в Qt 5.14.
[since 5.7] QJsonValueRef QJsonObject::operator[](QLatin1String key)
Это перегруженный метод.
Этот метод был добавлен в Qt 5.7.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-6.2/qjsonobject.html