Qt写入Json文件(含源码+注释)
Qt读写ini文件(含源码+注释)
Qt读写XML文件(含源码+注释)
友情提示——哪里看不懂可私哦,让我们一起互相进步吧
(创作不易,请留下一个免费的赞叭 谢谢 ^o^/)
注:文章为作者编程过程中所遇到的问题和总结,内容仅供参考,若有错误欢迎指出。
注:如有侵权,请联系作者删除
"content":[ //数组
{ //object1
"key1":"键值1",
"key2":"键值2"
QString name = "./config/portSet.json";
QFile loadFile(name);
if(!loadFile.open(QIODevice::ReadOnly))
LOG() << "could't open projects json";
#include <QJsonArray>
json 文件里基本有三类:数组、键值对、对象。其中对象内部为一系列的键值对,数组内部比较宽泛,可以是对象,字符串,数字等。具体可参考json文件格式详解
分别写入对象,数组,或者键值对
一、读出字符串
QFile json_file(filepath);
json_file.open(QIODevice::ReadOnly | QIODevice::Text);
if(json_file.open(QIODevice::ReadOnly | QIODevice::Text))
// 读取JSON文件
QFile file("path/to/file.json");
if (!file.open(QIODevice::ReadOnly | QIODevice::Text)) {
// 文件打开失败
qDebug() << "Failed to open file";
return;
QJsonParseError jsonError;
QJsonDocument document = QJsonDocument::fromJson(file.readAll(), &jsonError);
file.close();
if (jsonError.error != QJsonParseError::NoError) {
// JSON文件加载内容报错
qDebug() << "JSON parse error:" << jsonError.errorString();
return;
// 执行解析操作
if (document.isObject()) {
QJsonObject jsonObject = document.object();
// 对象解析操作
} else if (document.isArray()) {
QJsonArray jsonArray = document.array();
// 数组解析操作
在上面的代码中,首先使用QFile类打开JSON文件,然后使用QJsonDocument的静态函数fromJson()将文件内容解析为JSON文档。如果解析过程中出现错误,可以通过QJsonParseError类获取错误信息。最后,根据JSON文档的类型执行相应的解析操作。