#include "qthread.h";
#include<qjsonobject.h>
#include<QJsonDocument>
#include<qjsonarray.h>
#include<QtXml/qxml.h>;
#include"qfile.h"
#include"QtXml/qdom.h"
#include"qdir.h"
void usbtest::on_btn_json_clicked()
{
QJsonObject json,addr;
QJsonArray ja,ja1;
json.insert("a", QStringLiteral("中国")); //插入key value
json.insert("b", QStringLiteral("美国"));
addr.insert("ss", QStringLiteral("广东深圳"));
addr.insert("bb", QStringLiteral("湖南长沙"));
json.insert("addr", addr); //插入 QJsonObject
//数组
ja.append("123");
ja.append(2.34);
ja.append("666");
ja.append(false);
json.insert("array", ja);
ui.edt_data->append(QString(QJsonDocument(json).toJson())); //转化为QString
QString aa;
aa = json.value("a").toString(); //取key a
ui.edt_data->append(aa);
json["a"] = QStringLiteral("法国"); //赋值 key a
ui.edt_data->append(QString(QJsonDocument(json).toJson()));
ja1 = json["array"].toArray();
ui.edt_data->append(QJsonDocument(ja1).toJson());
}
void usbtest::on_btn_xml_clicked()
{
QFile file("test.xml"); 打开或创建文件
file.open(QFile::QFile::WriteOnly | QFile::Truncate);
QDomDocument doc;
//写入头部
QDomProcessingInstruction instruction;
instruction = doc.createProcessingInstruction("xml", "Version=\"1.0\" encoding=\"UTF-8\"");
doc.appendChild(instruction);
//添加跟目录
QDomElement root = doc.createElement("library");
doc.appendChild(root);
//添加子节点
QDomElement book = doc.createElement("book");
book.setAttribute("id", 1); //设置属性 方法1
QDomAttr time = doc.createAttribute("time"); //设置属性 方法2
time.setValue("2021-01-21");
book.setAttributeNode(time);
QDomElement title = doc.createElement("title");
QDomText text;
text = doc.createTextNode("c++ primer");
book.appendChild(title);
title.appendChild(text);
root.appendChild(book);
//输出到文件
QTextStream out_stream(&file);
doc.save(out_stream, 4); //缩进4格
file.close();
}
qt 操作json与xml
猜你喜欢
转载自blog.csdn.net/y281252548/article/details/112957734
今日推荐
周排行