Qt:QJsonArray
0、说明
QJsonArray中存储了一系列的QJsonValue。可以向其中插入、删除QJsonValue。
一个QJsonArray可以与QVariantList互相转换。可以通过size()访问其中的元素数,insert()、removeAt()移除其中的元素,并通过标准C++迭代模式进行迭代。
QJsonArray是个隐含的共享类,它与创建该类的Json文档共享数据,也就是说修改数据时它们会同时改变。
可以从JSON中生成QJsonArray或者把QJsonArray转化为JSON。
1、模块和加载项
| Header | #include<QJsonArray> |
| qmake | QT += core |
| Since | Qt 5.0 |
2、构造
| QJsonArray(QJsonArray other) | 获得另一个QJsonArray的副本 |
| QJsonArray(QJsonArray &other) | 从另一个QJsonArray构造 |
| QJsonArray(List<QJsonValue> args) |
从一个List<QJsonValue>中构造QJsonArray QJsonArray sedId = {1,2,3,4,5,6};
|
| QJsonArray() | 构造一个空的QJsonArray |
3、静态方法
返回值类型 |
方法 |
说明 |
| QJsonArray | fromStringList(QStringList list) |
从一个QStringList构造QJsonArray List中的value将被转换为JSON values |
| QJsonArray | fromVariantList(QVariantList list) |
从一个QVariantList构造QJSonArray List中的value将被转换为JSON values |
4、实例方法
返回值类型 |
方法 |
说明 |
|
QJsonArray & bool QJsonArray QJsonArray & QJsonArray & bool QJsonValue |
operator=(QJsonArray other) operator!=(QJsonArray other) operator+(QJsonValue value) operator+=(QJsonValue value) operator<<(QJsonValue value) operator==(QJsonArray other) operator[](int i) |
将另一个Array赋值给该Array 当两个Array不相等时,返回true 生成一个包含两个array所有元素的array 把另一个array附加到该array之后 往array之后添加一个元素,返回新array的引用 当两个array相等时,返回true 提取索引i处的元素,也就是,可以用array[i]访问元素 |
| void | append(QJsonValue value) | 往array末尾加一个value |
| QJsonValue | at(int i) |
返回array中索引为i的QJsonValue 如果i超限则返回Undefined类型的QJsonValue |
| QJsonArray::iterator | begin() | 返回一个STL样式的迭代器,指向array中的第一项 |
| bool | contains(QJsonValue value) | 如果array中包含value,返回true |
| int | count() | 等同于size(),元素数 |
| bool | empty() | 等同于isEmpty(),是否为空 |
| QJsonArray::iterator | end() | 返回一个STL迭代器,指向array中的最后一项 |
| QJsonArray::iterator | erase(QJsonArray::iterator it) | 移除it指向的项,返回指向下一项的指针 |
| QJsonValue | first() | 返回array中的第一个value,等同于at(0) |
| void | insert(int i, QJsonValue value) | 在索引i处插入value |
| bool | isEmpty() | array为空时返回true |
| QJsonValue | last() | 返回array中的最后一个value,等同于at( size() - 1 ) |
| void | pop_back() |
移除最后一个元素,等同于removeLast() 调用该方法前通常先用isEmpty()判断array是否为空 |
| pop_front() |
移除第一个元素,等同于removeFirst() 调用该方法前通常先用isEmpty()判断array是否为空 |
|
| prepend(const QJsonValue &value) | 在array首插入元素value | |
| push_back(const QJsonValue &value) | 等同于append | |
| push_front(const QJsonValue &value) | 等同于prepend | |
| removeAt(int i) | 移除指定索引处的元素,0<= i < size() | |
| removeFirst() | 移除第一个元素 | |
| removeLast() | 移除最后一个元素 | |
| replace(int i, QJsonValue value) | 用value取代索引i处的值 | |
| int | size() | 返回元素个数 |
| void | swap(QJsonArray &other) | 交换两个array的元素 |
| QJsonValue | takeAt(int i) | 移除并返回指定索引i处的元素 |
| QVariantList | toVariantList() | 把QJsonArray转换为VariantList |
5、用法
1)访问QJsonArray中的所有QJsonValue:[i] 或 at(i)
for(int i=0;i<jsonarray.size();i++){
QJsonValue jval = jsonarray[i];
//...对jval的处理
}
6、QJsonValue、QJsonArray、QJsonObject、QJsonDocument之间的关联
Qt:QJsonDocument以及与QJsonArray、QJsonObject、QJsonValue的关联 - ShineLe - 博客园
Qt:QJsonArray的更多相关文章
- Qt:QJsonDocument以及与QJsonArray、QJsonObject、QJsonValue的关联
0.说明 QJsonDocument类提供了read/write JSON文档的方法. 用QJsonDocument::fromJson()方法,可以从将一个JSON文件(或者QByteArray数据 ...
- Qt:QJsonObject
0.说明 QJsonObject在逻辑上就是一个Map或Dict!记住这一点对理解它的方法.说明很有帮助. QJsonObject类封装了JSON Object. JSON Object是一个Key- ...
- Qt:QJsonValue
0.说明 QJsonValue类用于操作JSON中的各种数据. JSON是用于存储结构化数据的格式,JSON中的数据可以是六种类型: 基本类型 存储类型 bool QJsonValue::Bool d ...
- Qt:禁止qDebug的输出
Qt:禁止qDebug的输出 在工程的.pro文件里加上以下编译批令即可: DEFINES += QT_NO_DEBUG_OUTPUT
- Qt:使用自定义的字体
Qt:使用自定义的字体 1. 下载字体文件 2. 加载字体文件 3. 使用字体 QFontDatabase::addApplicationFont("XENOTRON.TTF" ...
- Qt:QUrl构造时的qrc前缀
参考(按对我帮助从大到小排列): Qt内的各种路径(让人迷惑) - 鬼谷子com - 博客园 qt webengineview 加载本地资源方式 - beautifulday - 博客园 (17条消息 ...
- Qt:正则表达式语法:
正则表达式是验证输入.从输入中提取数据以及对输入进行搜索和替换的强大工具,所谓正则表达式,regexp是一种利用模式匹配语言来描述字符串组成限制条件的方式; Qt 提供了一个Q ...
- Qt:QT右键菜单
Qt QTableView 上加右键弹出菜单, 并复制选中的单元格内容到剪贴板中 http://wenku.baidu.com/view/c51cfb63cf84b9d528ea7a29.html h ...
- Qt:无标题栏无边框程序的拖动和改变大小
From: http://blog.csdn.net/kfbyj/article/details/9284923 最近做项目遇到的问题,总结下. 有时候我们觉得系统的标题栏和按钮太丑太呆板,想做自己的 ...
随机推荐
- threejs - src - WebGLProgram是如何组建Shader的?
threejs - src - WebGLProgram是如何组建Shader的? WebGLProgram的构建 WebGLProgram构建的时候需要的参数如下: // \param render ...
- springboot 的运行原理?
一.@SpringbootApplicaion 是一个组合注解? 在注解中点击查看. 作用:实现自动配置. /* * springboot的运行原理 1. @SpringbootApplicatio ...
- WebAssembly环境搭建
Environment:Ubuntu 16.06 + emscripten URL: https://emscripten.org/docs/getting_started/downloads.htm ...
- windows平台编码转换
int AsciiToUtf8(char* pSrc, unsigned int nSrcLen, char* pBuffer, unsigned int nBufferLen) { assert(p ...
- js图片预览代码
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- js 保存并排序输入内容
转载请注明来源:https://www.cnblogs.com/hookjc/ /* Create By:jiangcheng_15 Create Date:2012-01-32 */ functio ...
- CSS 圆角框
转载请注明来源:https://www.cnblogs.com/hookjc/ 其实这种圆角框是靠一个个容器堆砌而成的,每一个容器的宽度不同,这个宽度是由margin外边距来实现的,如:margin: ...
- 基于Docker部署4.2 版本的zabbix监控平台
准备工作 两台VMware 虚拟机 一台充当zabbix server(安装docker)ip:192.168.73.133 一台充当zabbix agent(安装docker)ip:192.168. ...
- Java中this和super的使用
区别 区别点 this super 访问属性 访问本类中的属性,如果本类没有,则从父类继续查找 访问父类中的属性 调用方法 访问本类中的方法,如果本类没有,则从父类继续查找 直接访问父类的方法 调用构 ...
- 图计算 on nLive:Nebula 的图计算实践
本文首发于 Nebula Graph Community 公众号 在 #图计算 on nLive# 直播活动中,来自 Nebula 研发团队的 nebula-plato 维护者郝彤和 nebula-a ...