zoukankan      html  css  js  c++  java
  • 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"}])

  • 相关阅读:
    EOF输入
    2019春总结作业
    2019春第二次课程设计报告
    2019春第一次课程设计实验报告
    2019第一次作业的项目模块结构介绍
    2019春第十二周作业
    2019春第十一周作业
    2019春第十周作业
    2019春第九周作业
    2019春第八周作业
  • 原文地址:https://www.cnblogs.com/ike_li/p/6041528.html
Copyright © 2011-2022 走看看