#include <QCoreApplication>
#include <QJsonArray>
#include <QJsonObject>
#include <QDebug>
#include <QList>
// 比较函数,用于指定排序规则
bool compareJsonObjects(const QJsonObject &obj1, const QJsonObject &obj2)
{
return obj1["key"].toString() < obj2["key"].toString();
}
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
// 创建一个包含QJsonObject对象的QJsonArray
QJsonArray jsonArray;
QJsonObject obj1;
obj1["key"] = "apple";
jsonArray.append(obj1);
QJsonObject obj2;
obj2["key"] = "banana";
jsonArray.append(obj2);
QJsonObject obj3;
obj3["key"] = "orange";
jsonArray.append(obj3);
// 将QJsonArray中的QJsonObject对象提取出来放入QList中
QList<QJsonObject> objectList;
for (const QJsonValue &value : jsonArray) {
objectList.append(value.toObject());
}
// 使用Qt的排序算法对QList进行排序
qSort(objectList.begin(), objectList.end(), compareJsonObjects);
// 输出排序后的结果
for (const QJsonObject &obj : objectList) {
qDebug() << obj["key"].toString();
}
return a.exec();
}