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.