QT4中使用第三方库QJson解析JSON文件。

QT5新增加了处理JSON的类,类均以QJson开头,包含在QtCore模块中。

用到的头文件

#include <QJsonArray>

#include <QJsonDocument>

#include <QJsonObject>

json解析

1.

QByteArray jsonData = "[{\"id\":\"11\", \"name\":\"aaa\"},"
"{\"id\":\"22\", \"name\":\"bbb\"},"
"{\"id\":\"33\", \"name\":\"ccc\"}]"; QJsonParseError jsonError;
QJsonDocument jsonDoucment = QJsonDocument::fromJson(jsonData, &jsonError);
if(jsonError.error == QJsonParseError::NoError){ if(!(jsonDoucment.isNull()||jsonDoucment.isEmpty())){ QVariantList dataList=jsonDoucment.toVariant().toList();
foreach (QVariant data, dataList) {
QVariantMap dataMap=data.toMap();
qDebug()<<"id:"<<dataMap["id"].toString()<<"name:"<<dataMap["name"].toString();
}
} }else{ //检查错误类型
qDebug()<<"jsonError:"<<jsonError.errorString();
}

2.生成json

QJsonArray jsonArray;
QJsonObject jsonObj1;
jsonObj1.insert ("task_name","task1");
jsonObj1.insert ("task_status:","ok");
jsonObj1.insert ("task_time:","2019_3_26"); QJsonObject jsonObj2;
jsonObj2.insert ("task_name","task2");
jsonObj2.insert ("task_status:","error");
jsonObj2.insert ("task_time:","2019_3_27"); jsonArray.append (jsonObj1);
jsonArray.append (jsonObj2); qDebug()<<jsonArray;

QJsonArray([{"task_name":"task1","task_status:":"ok","task_time:":"2019_3_26"},{"task_name":"task2","task_status:":"error","task_time:":"2019_3_27"}])

最新文章

  1. C++程序设计(关于函数中数组传递的一点心得)
  2. map的应用
  3. json2.js 使用
  4. 51nod 1050 循环数组最大子段和
  5. poj 1182 食物链(关系并查集)
  6. oracle10g前期准备
  7. Google代码实验室
  8. SQL Server 中的SET XACT_ABORT各种用法及显示结果
  9. CodeForces 22D Segments 排序水问题
  10. nyoj587 hdu1045 简单深搜
  11. Visual Studio 中指定自定义生成事件
  12. 网页提示错误(net::ERR_EMPTY_RESPONSE)
  13. 1080P60视频源---verilog
  14. oracle查看表名称和表字段注释
  15. dubbo超时优先级设置
  16. python机器学习一:KNN算法实现
  17. (01背包 第k优解) Bone Collector II(hdu 2639)
  18. Python、pywin32&amp;pycharm安装记录
  19. MySQL复制 -- binlog(2)
  20. 分享几个.NET 下的计划任务组件

热门文章

  1. Luogu 1080 【NOIP2012】国王游戏 (贪心,高精度)
  2. 解决invalid record found in VCF4 file (at least 8 tab-delimited fields expected)问题,批量修改空格改为制表格格式
  3. CentOS 7 系统的初化始配置
  4. 让maven项目使用nexus作为远程仓库
  5. saltstack安装与配置
  6. NET 4 中 内存映射文件
  7. .Net进阶系列(15)-异步多线程(线程的特殊处理和深究委托赋值)(被替换)
  8. Nginx 配置文件解析
  9. jquery 跨域请求
  10. Handler实现与机制 &amp;&amp; Blocking Queue &amp;&amp; IdleHandler使用