#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();
}