目录一、示例JSON文件内容二、json写入会使用的类(介绍写入所使用的类在本文中的作用,个人理解)三、Json文件的写入3.1 常规类型的写入3.2 对象及数组类型的添加3.3 J
下方为本文所使用的Json文件的内容,其中包含字符串、数值、布尔、null、对象、数组等(写入方式在本文第三节)
{
"array": [
"str",
88,
null
],
"bool": true,
"jChildObj": {
"age": 25,
"name": "tom"
},
"null": null,
"number": 66,
"str": "String"
}
创建根对象(QJsonObject)
//创建QJsonObject对象(姑且称之为根对象),用于存放需要写入的数据
QJsonObject jObj;
常规对象的添加
//添加字符串类型
jObj.insert("str", "String");
//添加数值类型(在值为具体值时其中的QJsonValue可以不使用,直接放入值本身)
jObj.insert("number", QJsonValue(66));
//添加布尔类型
jObj.insert("bool", true);
//添加空值(直接放一个QJsonValue对象即可,不传入值时默认为空)
jObj.insert("null", QJsonValue());
对象类型
//对象类型需要一个子QJsonObject对象存放,然后在添加到根QJsonObject对象中
QJsonObject jChildObj;
//添加值时直接使用如上方法添加具体值即可
jChildObj.insert("name", "tom");
jChildObj.insert("age", 25);
//当子对象的值添加完成后将子对象添加到根对象中即可
jObj.insert("jChildObj", jChildObj);
数组类型
//创建数组对象
QJsonArray array;
//QJsonArray容器和普通容器的添加方法一样,都可调用append函数
array.append("str");
array.append(88);
array.append(QJsonValue());
//数组中元素添加完成后将其添加到根对象中
jObj.insert("array", array);
//创建QJsonDocument对象并将根对象传入
QJsonDocument jDoc(jObj);
//打开存放json串的文件
QFile file("./jsonTest2.json");
if(!file.open(QioDevice::WriteOnly))
return 0;
//使用QJsonDocument的toJson方法获取json串并保存到数组
QByteArray data(jDoc.toJson());
//将json串写入文件
file.write(data);
file.close();
建议学习前先了解一下Json文件格式,组合类型只需将需要的类型添加到存放的类型中即可
到此这篇关于Qt写入Json文件的文章就介绍到这了,更多相关Qt写入Json文件内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!
相关文章
--结束END--
本文标题: Qt写入Json文件的方法详解(含源码+注释)
本文链接: https://lsjlt.com/news/169844.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
2024-03-01
2024-03-01
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0