QJsonObject 类

news/2024/10/24 4:32:51/

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.

http://www.ppmy.cn/news/63752.html

相关文章

Java设计模式(二十三)模版方法模式

一、概述 模板方法模式是一种行为型设计模式&#xff0c;它定义了一个算法的骨架&#xff0c;将一些步骤的实现延迟到子类中。模板方法模式通过在抽象类中定义模板方法&#xff0c;该方法包含了算法的主要逻辑和调用顺序&#xff0c;而具体的实现细节则由子类来完成。 二、代…

基于Spring Boot的在线考试系统

系统分析 可行性分析 一个完整的系统&#xff0c;可行性分析是必须要有的&#xff0c;因为关系到系统生存问题&#xff0c;对开发的意义进行分析&#xff0c;能否通过本系统来补充线下在线考试管理模式中的缺限&#xff0c;去解决其中的不足等&#xff0c;通过对本系统&#…

PMP证书“扫盲”时间2023年考证人快看过来

二&#xff0c;PMP报考指南 学历与工作经验要求&#xff1a; 本科及以上学历&#xff0c;三年或以上的项目管理工作经验&#xff1b; 专科及以上学历&#xff0c;五年或以上的项目管理工作经验。 项目管理培训&#xff1a;35小时以上的项目管理教育/培训。 备注&#xff1…

javaScript---toString()与Object.prototype.toString()

1、为什么对象obj.toString()返回为”[object Object]”,而其他类型.toString()返回是相应的字符串? var arr= [1,2,3] arr.toString() //"1,2,3" var arr1=[] arr.toString() //"" var num= 12; num.toString() //"12" var str = "maidu…

2023年了,来体验下前端的测试方案

在当前的前端当中&#xff0c;有好多同学自己写的代码bugger横飞&#xff0c;怎么解决这个问题呢&#x1f914;&#x1f914;&#x1f914;&#xff1f;个人觉得主要有以下两个趋势 给前端的代码加上类型检查&#xff08;ts&#xff09;给前端代码编写单元测试和e2e测试 当然&a…

pandas读取Excel核心源码剖析,面向过程仿openpyxl源码实现Excel数据加载

&#x1f4e2;作者&#xff1a; 小小明-代码实体 &#x1f4e2;博客主页&#xff1a;https://blog.csdn.net/as604049322 &#x1f4e2;欢迎点赞 &#x1f44d; 收藏 ⭐留言 &#x1f4dd; 欢迎讨论&#xff01; 今天我们将研究pandas如何使用openpyxl引擎读取xlsx格式的Excel的…

【Linux0.11代码分析】07 之 kernel execve() 函数 实现原理

【Linux0.11代码分析】07 之 kernel execve 函数 实现原理 一、execve()函数实现原理1.1 execve() 函数调用流程 系列文章如下&#xff1a; 系列文章汇总&#xff1a;《【Linux0.11代码分析】之 系列文章链接汇总&#xff08;全&#xff09;》 . 1.《【Linux0.11代码分析】01 之…

react组件发布到npm

创建库 新建文件夹 test-react-library 进入项目&#xff0c;初始化&#xff1a; yarn init -y此处 -y 就是yes&#xff0c;相当于执行了一路回车 安装依赖包&#xff0c;其中rollup用3以上版本会报错&#xff0c;还没研究处理方法。 yarn add rollup^2.0.0 rollup-plugin…