日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

QJson生成文件和解析文件

發布時間:2025/4/14 编程问答 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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;}}}}}

  

?

轉載于:https://www.cnblogs.com/wxh-53919/p/10910495.html

《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀

總結

以上是生活随笔為你收集整理的QJson生成文件和解析文件的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。