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

  • 相关阅读:
    Android大牛
    在学习oauth时学到的
    using-jade-and-grunt-to-speed-up-html-production
    build-your-microservices-api-with-swagger
    json-web-token-apache-shiro
    WebSocket对象特性和方法
    芝麻教程
    how to export multiple SVG graphics in illustrator
    直播后台
    关于在chrome中响应不出现在XHR里的远影
  • 原文地址:https://www.cnblogs.com/ike_li/p/6041528.html
Copyright © 2011-2022 走看看