本文共 1450 字,大约阅读时间需要 4 分钟。
(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"} ], "data": { "name": "yudabo" }}(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();/* // autor字段 qDebug()<< "jsonObject[autor]==" << jsonObject["autor"].toString();*/// staff字段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(); } }}// data字段QJsonValue jsonDataValue = jsonObject.value(QStringLiteral("data"));QJsonObject jsonData = jsonDataValue.toObject();qDebug()<< "jsonData [name]==" << jsonData ["name"].toString();
转载地址:http://vbbaz.baihongyu.com/