QJsonObject 类

1.QJsonObject简介

  QJsonObject类封装了一个JSON对象。
  JSON对象是键值对的列表,其中键是唯一的字符串,值由QJsonValue表示。
  QJsonObject可以转换为QVariantMap,也可以从QVariantMap转换。您可以从中查询具有size()、insert()和remove()项的(key,value)对的数量,并使用标准C++迭代器模式对其内容进行迭代。
  QJsonObject是一个隐式共享类,只要不修改数据,它就与创建数据的文档共享数据。

  Header:#include
  qmake: QT += core

公共类型
  Iclass const_iterator
  Iclass iterator
  Itypedef ConstIterator
  Itypedef Iterator
  Itypedef key_type
  Itypedef mapped_type
  Itypedef size_type

公共函数



QJsonObject()
//构造函数

QJsonObject(std::initializer_list<QPair<QString, QJsonValue> > args)
//构造从参数初始化列表初始化的QJsonObject实例。例如:
//QJsonObject object
// {
    
    
//    {"property1", 1},
//    {"property2", 2}
// };

QJsonObject(const QJsonObject &other)
//创建其他的复制

QJsonObject(QJsonObject &&other)
//创建其他的复制

~QJsonObject()
//析构函数

QJsonObject::iterator begin()
//返回一个STL样式的迭代器,该迭代器指向对象中的第一个项。

QJsonObject::const_iterator begin() const
//重载函数,返回一个STL样式的迭代器,该迭代器指向对象中的第一个项。

QJsonObject::const_iterator constBegin() const
//返回一个指向对象中第一个项的常量STL样式迭代器。

QJsonObject::const_iterator constEnd() const
//返回一个常量STL样式迭代器,该迭代器指向对象中最后一个项。

QJsonObject::const_iterator constFind(const QString &key) const
//返回一个常量迭代器,该迭代器指向映射中具有键的项。

QJsonObject::const_iterator constFind(QLatin1String key) const
//重载函数,返回一个常量迭代器,该迭代器指向映射中具有键的项。

bool contains(const QString &key) const
//如果对象中包含关键字key,则返回true。

bool contains(QLatin1String key) const
//重载函数,如果对象中包含关键字key,则返回true。

int count() const
//重载函数,与size()相同。

bool empty() const
//提供此功能是为了与STL兼容。它相当于isEmpty(),如果对象为空,则返回true;否则返回false。

QJsonObject::iterator end()
//返回一个STL样式迭代器,该迭代器指向对象中最后一个项。

QJsonObject::const_iterator end() const
//重载函数,返回一个STL样式迭代器,该迭代器指向对象中最后一个项。

QJsonObject::iterator erase(QJsonObject::iterator it)
//从映射中删除迭代器所指向的(键,值)对,并将迭代器返回到映射中的下一个项。

QJsonObject::iterator find(const QString &key)
//返回一个迭代器,该迭代器指向映射中具有主键的项。
//如果映射不包含带key键的项,则函数返回end()

QJsonObject::iterator find(QLatin1String key)
//重载函数。返回一个迭代器,该迭代器指向映射中具有主键的项。

QJsonObject::const_iterator find(const QString &key) const
//重载函数

QJsonObject::const_iterator find(QLatin1String key) const
//重载函数

QJsonObject::iterator insert(const QString &key, const QJsonValue &value)
//插入一个带有键和值的新项目。
//如果已经有一个具有关键字的项,那么该项的值将被替换为值。
//返回一个迭代器,该迭代器指向插入的项。
//如果该值为未定义,则会导致键从对象中移除。然后返回的迭代器将指向end()。

bool isEmpty() const
//如果对象为空,则返回true。这与size()==0相同。

QStringList keys() const
//返回此对象中所有键的列表。
//该列表按字母顺序排列。

int length() const
//这是一个重载函数。
//与size()相同。

void remove(const QString &key)
//从对象中删除主键

int size() const
//返回存储在对象中的(键,值)对的数量。

void swap(QJsonObject &other)
//用此交换其他对象。这个操作非常快速,而且永远不会失败。

QJsonValue take(const QString &key)
//从对象中删除关键值。
//返回包含键引用的值的QJsonValue。如果对象中不包含主键,则返回未定义。

QVariantHash toVariantHash() const
//将此对象转换为QVariantHash。
//返回创建的哈希。

QVariantMap toVariantMap() const
//将此对象转换为QVariantMap。
//返回创建的映射。

QJsonValue value(const QString &key) const
//返回一个QJsonValue对象中主键key对应的值。
//如果主键不存在,则返回未定义。

QJsonValue value(QLatin1String key) const
//重载函数

bool operator!=(const QJsonObject &other) const
//如果other不等于此对象,则返回true。

QJsonObject &operator=(const QJsonObject &other)
//将其他对象指定给此对象。

QJsonObject &operator=(QJsonObject &&other)
//重载函数

bool operator==(const QJsonObject &other) const
//如果other等于此对象,则返回true。

QJsonValue operator[](const QString &key) const
//返回一个对象中主键对应的值。
//这与value()的作用相同。
//如果主键不存在,则返回未定义。

QJsonValue operator[](QLatin1String key) const
//重载函数

QJsonValueRef operator[](const QString &key)
//重载函数

QJsonValueRef operator[](QLatin1String key)
//重载函数

静态公共成员

QJsonObject  fromVariantHash(const QVariantHash &hash)
//将哈希转换为QJsonObject。
//hash中的键将用作JSON对象中的键,QVariant值将转换为JSON值。

QJsonObject  fromVariantMap(const QVariantMap &map)
//将map映射转换为QJsonObject。
//map中的键将用作JSON对象中的键,QVariant值将转换为JSON值。

成员类型文档

typedef QJsonObject::ConstIterator
Qt-style synonym for QJsonObject::const_iterator.

typedef QJsonObject::Iterator
Qt-style synonym for QJsonObject::iterator.

typedef QJsonObject::key_type
Typedef for QString. Provided for STL compatibility.

typedef QJsonObject::mapped_type
Typedef for QJsonValue. Provided for STL compatibility.

typedef QJsonObject::size_type
Typedef for int. Provided for STL compatibility.

猜你喜欢

转载自blog.csdn.net/AAAA202012/article/details/130536796