直接上例子代码:
QFile file("./test5.txt");
if (!file.open(QIODevice::ReadWrite | QIODevice::Text))
{
return ;
}
QTextStream qTextStream(&file);
qTextStream.setCodec("UTF-8");
//json构建
QJsonObject jsonObject;
QJsonArray jsonArray;
jsonObject.insert("id", 0);
jsonObject.insert("name", "王大陆");
jsonArray.push_back(jsonObject);
jsonObject.insert("id", 1);
jsonObject.insert("name", "赵日天");
jsonArray.push_back(jsonObject);
QJsonDocument jsonDocument(jsonArray);
qTextStream << jsonDocument.toJson(); //写入数据
qTextStream.flush();
qTextStream.seek(0);
//json解析
QString jsonStr = qTextStream.readAll();
jsonDocument = QJsonDocument::fromJson(jsonStr.toUtf8());
QJsonArray jsonArray1 = jsonDocument.array();
QJsonObject jsonObject1;
for (auto item : jsonArray1)
{
jsonObject1 = item.toObject();
if (jsonObject1.contains("id") && jsonObject1.contains("name"))
{
qDebug() << "id:" << jsonObject1.value("id").toInt();
qDebug() << "name:" << jsonObject1.value("name").toString();
}
}
效果: