Qt5 json 数据处理

 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"}])

转载于:https://www.cnblogs.com/ike_li/p/6041528.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值