(1)JSON文件(config.json)
{
"autor": "yudabo",
"staff":[
{"name":"于大博1"},
{"name":"于大博2"},
{"name":"于大博3"},
{"name":"于大博4"},
{"name":"于大博5"},
{"name":"于大博6"},
{"name":"于大博7"},
{"name":"于大博8"},
{"name":"于大博9"},
{"name":"于大博10"}
]
}
(2)解析文件
QFile file("config.json");
file.open(QIODevice: :ReadOnly | QIODevice: :Text);
QString value = file.readAll();
file.close();
QJsonParseError parseJsonErr;
QJsonDocument document = QJsonDocument: :fromJson(value.toUtf8(), &parseJsonErr);
if (! (parseJsonErr.error == QJsonParseError: :NoError)) {
QMessageBox: :about(NULL, "提示", "配置文件错误!");
return;
}
QJsonObject jsonObject = document.object();
/*
qDebug()<< "jsonObject[autor]==" << jsonObject["autor"].toString();
*/
if (jsonObject.contains(QStringLiteral("staff"))) {
QJsonValue arrayValue = jsonObject.value(QStringLiteral("staff"));
if (arrayValue.isArray()) {
QJsonArray array = arrayValue.toArray();
for (int i = 0; i < array.size(); i++) {
QJsonValue nameArray = array.at(i);
QJsonObject key = nameArray.toObject();
qDebug() << "key[name]==" << key["name"].toString();
}
}
}