• QJson生成文件和解析文件


    QJson生成.json文件

    生成简单的json文件

        QVariantHash data;
        QVariantHash patientData;
        patientData.insert("patient ID","22334");
        patientData.insert("Name","ZYL_YY");
        patientData.insert("age","26");
        patientData.insert("clinicalData","wwwww");
        patientData.insert("Selected site","lever");
        patientData.insert("Selected mode","pulse mode");
        data.insert("patientInformation",patientData);
         QJsonObject rootobj = QJsonObject::fromVariantHash(data);
        QJsonDocument document;
        document.setObject(rootobj);
        QByteArray byte_array = document.toJson();
        QString json_str = (byte_array);
        QFile file("/home/wxh1/1.json");
        if(!file.open(QIODevice::ReadWrite | QIODevice::Text | QIODevice::Truncate))
        {
            qDebug()<<"file error";
        }
        QTextStream in(&file);
        in<<json_str;
        file.close();
      
    

    生成的jison文件

    {
        "patientInformation": {
            "Name": "ZYL_YY",
            "Selected mode": "pulse mode",
            "Selected site": "lever",
            "age": "26",
            "clinicalData": "wwwww",
            "patient ID": "22334"
        }
    }
    

    解析json文件QFile file("/home/wxh1/1.json");

    //
    file.open(QIODevice::ReadOnly | QIODevice::Text);
    //

    QString value = file.readAll(); file.close(); // QJsonParseError jsonError; QJsonDocument
    doucement = QJsonDocument::fromJson(value.toUtf8(),&jsonError); // if(!doucement.isNull()&&(jsonError.error == QJsonParseError::NoError)) { // if(doucement.isObject()) { // _jsonObject = doucement.object(); QVector<QString> patien_item(6); // if(_jsonObject.contains("patientInformation")) { // QJsonValue jsonValueList = _jsonObject.value(QStringLiteral("patientInformation")); QJsonObject item = jsonValueList.toObject(); // patien_item[0]=item["Name"].toString(); patien_item[1]=item["Selected mode"].toString(); patien_item[2]=item["Selected site"].toString(); patien_item[3]=item["patient ID"].toString(); patien_item[4]=item["age"].toString(); patien_item[5]=item["clinicalData"].toString(); } } }

    构建json数组

      QJsonArray probePlacementData;
        for(int i =0;i<5;i++)
        {
            QJsonObject obj;
            obj.insert("voltage","3000");
            obj.insert("distance","2.4");
            obj.insert("pulseLength","100");
            obj.insert("numpulse","90");
            probePlacementData.append(obj);
    
        }
        data.insert("probePlacementData",probePlacementData);
    
        QJsonObject rootobj = QJsonObject::fromVariantHash(data);
        QJsonDocument document;
        document.setObject(rootobj);
        QByteArray byte_array = document.toJson();
        QString json_str = (byte_array);
        QFile file("/home/wxh1/1.json");
        if(!file.open(QIODevice::ReadWrite | QIODevice::Text | QIODevice::Truncate))
        {
            qDebug()<<"file error";
        }
        QTextStream in(&file);
        in<<json_str;
        file.close();
    

     生成的json文件

    {
        "probePlacementData": [
            {
                "distance": "2.4",
                "numpulse": "90",
                "pulseLength": "100",
                "voltage": "3000"
            },
            {
                "distance": "2.4",
                "numpulse": "90",
                "pulseLength": "100",
                "voltage": "3000"
            },
            {
                "distance": "2.4",
                "numpulse": "90",
                "pulseLength": "100",
                "voltage": "3000"
            },
            {
                "distance": "2.4",
                "numpulse": "90",
                "pulseLength": "100",
                "voltage": "3000"
            },
            {
                "distance": "2.4",
                "numpulse": "90",
                "pulseLength": "100",
                "voltage": "3000"
            }
        ]
    }
    

     解析json文件

    struct _probePlacementDataStruct
    {
        QString voltage;
        QString distance;
        QString pulseLegth;
        QString numpulse;
    };
    
    
    QFile file("/home/wxh1/1.json");
    //
    file.open(QIODevice::ReadOnly | QIODevice::Text);
    //

    QString value = file.readAll(); file.close(); // QJsonParseError jsonError; QJsonDocument doucement = QJsonDocument::fromJson(value.toUtf8(),&jsonError); // if(!doucement.isNull()&&(jsonError.error == QJsonParseError::NoError)) { // if(doucement.isObject()) { // _jsonObject = doucement.object(); if(_jsonObject.contains(QStringLiteral("probePlacementData"))) { QJsonValue arrayVaule = _jsonObject.value(QStringLiteral("probePlacementData")); if(arrayVaule.isArray()) { QJsonArray array = arrayVaule.toArray(); for(int i = 0;i<array.size();i++) { QJsonValue iconArray = array.at(i); QJsonObject childrens = iconArray.toObject(); QString voltage = childrens["voltage"].toString(); QString distance = childrens["distance"].toString(); QString pulseLength = childrens["pulseLength"].toString(); QString numPulse = childrens["numpulse"].toString(); _probePlacementDataStruct list; list.voltage = voltage; list.distance = distance; list.pulseLegth = pulseLength; list.numpulse = numPulse; } } } } }

      

  • 相关阅读:
    读书笔记:芳华
    工作4个余月了
    读书笔记:秘密
    读书笔记:移动的帝国_日本移动互联网兴衰启示录
    『用英语学英语』英文语法为什么要有独立主格?
    『转』The Beginning of your Design Career
    『转』Writing Well
    『转』How to Think About Your Career
    selenium RC 环境配置
    菜鸟学自动化测试(一)----selenium IDE
  • 原文地址:https://www.cnblogs.com/wxh-53919/p/10910495.html
Copyright © 2020-2023  润新知