QT中json程序修改部分
时间: 2023-11-16 12:13:28 浏览: 81
在QT中,我们可以使用QJsonDocument和QJsonObject类来操作JSON数据。
1. 读取JSON数据
```cpp
QFile file("file.json");
if (!file.open(QIODevice::ReadOnly | QIODevice::Text)) {
return;
}
QJsonDocument doc = QJsonDocument::fromJson(file.readAll());
QJsonObject json = doc.object();
// 读取字符串类型的值
QString strValue = json.value("str_key").toString();
// 读取整数类型的值
int intValue = json.value("int_key").toInt();
// 读取数组类型的值
QJsonArray array = json.value("array_key").toArray();
for (int i = 0; i < array.size(); ++i) {
QString str = array.at(i).toString();
// Do something
}
file.close();
```
2. 修改JSON数据
```cpp
QJsonObject json;
json.insert("str_key", "new_value");
// 修改整数类型的值
json.insert("int_key", 100);
// 修改数组类型的值
QJsonArray array;
array.append("new_element");
json.insert("array_key", array);
QJsonDocument doc(json);
QFile file("file.json");
if (!file.open(QIODevice::WriteOnly | QIODevice::Text)) {
return;
}
file.write(doc.toJson());
file.close();
```
注意:在修改JSON数据时,需要先创建一个新的QJsonObject对象,然后插入/修改需要修改的键值对,最后再将新创建的QJsonObject对象转换成QJsonDocument对象并写入文件中。
阅读全文