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

  • 相关阅读:
    [工具分享]JetBrains ReSharper 9.0 正式版和注册码
    JAVA数据库连接池的革命 -- 从BoneCP到HikariCP
    【C#教程10】C# 判断
    【C#教程09】C# 运算符
    【C#教程07】C# 变量
    【C#教程06】C# 类型转换
    【C# 教程05】C# 数据类型
    【C# 教程04】C# 基本语法
    【C# 教程03】C# 程序结构
    【C#教程02】C# 环境
  • 原文地址:https://www.cnblogs.com/ike_li/p/6041528.html
Copyright © 2011-2022 走看看