当前位置: 首页 > news >正文

帝国做的网站打开速度/东莞网络优化公司

帝国做的网站打开速度,东莞网络优化公司,今日最新军事要闻,搭建一个网站需要多久QT的Json格式读写修改使用方式效果测试源码大部分参考博客不过由于修改json的方式存在问题,我这边修改了一下,可以运行了。可以用作配置相关运行参数了使用方式 使用qtcreator新建工程,直接替换main.c中代码即可编译运行。 效果 原来json内…

QT的Json格式读写修改

  • 使用方式
  • 效果
  • 测试源码

大部分参考博客
不过由于修改json的方式存在问题,我这边修改了一下,可以运行了。
可以用作配置相关运行参数了

使用方式

使用qtcreator新建工程,直接替换main.c中代码即可编译运行。

效果

原来json内容如下

{"class": [{"age": "18","home": "xx","name": "aron566"},{"age": "19","home": "xx","name": "aron566"}]
}

修改后:

{"class": [{"age": "45","home": "xx","name": "aron566"},{"age": "19","home": "xx","name": "aron566"}]
}

测试源码

#include "mainwindow.h"
#include <QApplication>int ReadJson(int argc, char *argv[]);
int WriteJson(int argc, char *argv[]);
int WriteJsonx(int argc, char *argv[]);
int ModifiedJson(int argc, char *argv[]);int main(int argc, char *argv[])
{QApplication a(argc, argv);WriteJsonx(argc, argv);
//    ReadJson(argc, argv);ModifiedJson(argc, argv);return 0;
//    MainWindow w;
//    w.show();
//    return a.exec();
}/*
读取json
{"name": "aron566","age": "18","home": "xx"
}
*/
#include <QCoreApplication>
#include <QJsonDocument>
#include <QJsonArray>
#include <QJsonObject>
#include <QFile>
#include <QDebug>
/*
读取json
{"name": "aron566","age": "18","home": "xx"
}
*/
/*读取json格式数据*/
int ReadJson(int argc, char *argv[])
{
//    QCoreApplication a(argc, argv);QFile file("test.json");if(!file.open(QIODevice::ReadOnly)) {qDebug() << "File open failed!";} else {qDebug() <<"File open successfully!";}QJsonDocument jdc(QJsonDocument::fromJson(file.readAll()));QJsonObject obj = jdc.object();qDebug() << obj.value("name").toString()<< obj.value("age").toString()<< obj.value("home").toString();return 0;
}/*写出json格式数据*/
#include <QCoreApplication>
#include <QJsonDocument>
#include <QJsonArray>
#include <QJsonObject>
#include <QFile>
#include <QDebug>int WriteJson(int argc, char *argv[])
{
//    QCoreApplication a(argc, argv);QFile file("test.json");if(!file.open(QIODevice::WriteOnly)) {qDebug() << "File open failed!";} else {qDebug() <<"File open successfully!";}QJsonObject obj;obj["age"] = "18";obj["name"] = "aron566";obj.insert("home", "xx");QJsonDocument jdoc(obj);file.write(jdoc.toJson());file.flush();return 0;
}#include <QCoreApplication>
#include <QJsonDocument>
#include <QJsonArray>
#include <QJsonObject>
#include <QFile>
#include <QDebug>
/*使用QJsonArray*/
/*
{"class": [{"age": "18","home": "xx","name": "aron566"},{"age": "19","home": "xx","name": "aron566"}]
}
*/
int WriteJsonx(int argc, char *argv[])
{
//    QCoreApplication a(argc, argv);QFile file("test.json");if(!file.open(QIODevice::WriteOnly)) {qDebug() << "File open failed!";} else {qDebug() <<"File open successfully!";}QJsonObject rootObj;QJsonObject obj;obj["age"] = "18";obj["name"] = "aron566";obj.insert("home", "xx");QJsonObject obj1;obj1["age"] = "19";obj1["name"] = "aron566";obj1.insert("home", "xx");QJsonArray classArray;classArray.append(obj);classArray.append(obj1);rootObj["class"] = classArray;QJsonDocument jdoc(rootObj);file.write(jdoc.toJson());file.flush();return 0;
}/*修改Json数据*/
#include <QCoreApplication>
#include <QJsonDocument>
#include <QJsonArray>
#include <QJsonObject>
#include <QFile>
#include <QDebug>
/*先读,修改,再写*/
int ModifiedJson(int argc, char *argv[])
{
//    QCoreApplication a(argc, argv);QFile file("test.json");if(!file.open(QIODevice::ReadWrite)) {qDebug() << "File open failed!";} else {qDebug() <<"File open successfully!";}QJsonDocument jdc(QJsonDocument::fromJson(file.readAll()));QJsonObject rootObj = jdc.object();QJsonObject subObj;QJsonArray subArray;/*判断是否是数组*/if(rootObj.contains("class") && rootObj["class"].isArray()){qDebug() << "check array is ok!";subArray = rootObj.value("class").toArray();qDebug() << "数组长度大小:" << subArray.size();for(int i = 0; i< subArray.size(); i++){/*转换为子对象*/subObj = subArray.at(i).toObject();if (subObj.contains("age") && subObj["age"].isString()){qDebug() << "age is:" << subObj["age"].toString();}if (subObj.contains("home") && subObj["home"].isString()){qDebug() << "home is:" << subObj["home"].toString();}if (subObj.contains("name") && subObj["name"].isString()){qDebug() << "name is:" << subObj["name"].toString();}if(subObj["age"].toString() == "18"){qDebug() << "写入 age 45";/*两种方式更换age这个对应值*/subObj["age"] = "25";/**< 第一种*/subObj.remove("age");/**< 第二种先移除*/subObj.insert("age" ,"45");/**< 第二种再插入*/subArray.replace(i ,subObj);rootObj.insert("class" ,subArray);}}}jdc.setObject(rootObj);file.seek(0);/*从头开始写*/file.write(jdc.toJson());file.flush();return 0;
}/** JSON格式如下:
{"first fruit":{"describe":"an apple","icon":"appleIcon","name":"apple"},"second fruit":{"describe":"an orange","icon":"orangeIcon","name":"orange"},"three fruit array":["eat 0","eat 1","eat 2","eat 3","eat 4"]
}解析:
#include <QJsonDocument>
#include <QJsonParseError>
#include <QFile>
#include <QJsonObject>
#include <QDebug>
#include <QJsonArray>
void read()
{QFile loadFile("D:\\1.json");if(!loadFile.open(QIODevice::ReadOnly)){qDebug() << "could't open projects json";return;}QByteArray allData = loadFile.readAll();loadFile.close();QJsonParseError json_error;QJsonDocument jsonDoc(QJsonDocument::fromJson(allData, &json_error));if(json_error.error != QJsonParseError::NoError){qDebug() << "json error!";return;}QJsonObject rootObj = jsonDoc.object();QStringList keys = rootObj.keys();for(int i = 0; i < keys.size(); i++){qDebug() << "key" << i << " is:" << keys.at(i);}//因为是预先定义好的JSON数据格式,所以这里可以这样读取if(rootObj.contains("first fruit") && rootObj["first fruit"].isObject()){QJsonObject subObj = rootObj["first fruit"].toObject();if (subObj.contains("describe") && subObj["describe"].isString()){qDebug() << "describe is:" << subObj["describe"].toString();}if (subObj.contains("icon") && subObj["icon"].isString()){qDebug() << "icon is:" << subObj["icon"].toString();}if (subObj.contains("name") && subObj["name"].isString()){qDebug() << "name is:" << subObj["name"].toString();}}if(rootObj.contains("second fruit") && rootObj["second fruit"].isObject()){QJsonObject subObj = rootObj["second fruit"].toObject();if (subObj.contains("describe") && subObj["describe"].isString()){qDebug() << "describe is:" << subObj["describe"].toString();}if (subObj.contains("icon") && subObj["icon"].isString()){qDebug() << "icon is:" << subObj["icon"].toString();}if (subObj.contains("name") && subObj["name"].isString()){qDebug() << "name is:" << subObj["name"].toString();}}if(rootObj.contains("three fruit array") && rootObj["three fruit array"].isArray()){QJsonArray subArray = rootObj.value("three fruit array").toArray();for(int i = 0; i< subArray.size(); i++){if (subArray[i].isString()){qDebug() << i<<" value is:" << subArray.at(i).toString();}}}
}
*/
http://www.jmfq.cn/news/4796227.html

相关文章:

  • 微网站怎么做的好处/电商网
  • 织梦网站被攻击/网络营销以什么为中心
  • 做软件网站/百度快照入口
  • 槐荫区网站建设/百度指数移动版app
  • 顺德网站建设教程/seo咨询师招聘
  • 哪家网站建设服务好/百度竞价推广代理
  • 做内衣的网站/网站优化排名怎么做
  • 网页设计 网站/郑州千锋教育培训机构怎么样
  • 上海高端网站建设定制/网站收录怎么做
  • 哪个网站做攻略比较好/seo 优化 工具
  • asp与php做网站哪个好/网站制作流程图
  • 舟山网站建设设计/杭州百度seo
  • wordpress 域名分离/关键词优化公司哪家好
  • 做网页的素材网站/查询域名网站
  • 网站建设推荐公司/sem和seo
  • 找外包做网站要多久/老哥们给个关键词
  • 昆明seocn整站优化/青岛网站建设培训学校
  • 企业信用信息查询公示系统北京/长沙网站seo优化排名
  • 网站建设公司怎么寻找客户呢/临沂seo公司
  • 做地方网站需要什么部门批准/排名点击工具
  • 专门做尿不湿的网站/直播发布会
  • 免费空间asp网站/奶茶软文案例300字
  • 做网站和服务器的大小有关吗/百度指数官方网站
  • 查询网站怎么做/百度关键词指数排行
  • 郑州富士康事件真相/搜索引擎优化师
  • 平湖市规划建设局网站/浏览器地址栏怎么打开
  • 石家庄做网站排名公司/企业宣传册
  • b2b电子商务网站网址/怎么做网络营销推广
  • 静态网站用什么做最快/sem推广计划
  • 浙江公司网站建设制作/武汉百度推广电话