#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(); }
标签:obj1,QJsonObject,include,QJsonArray,对象,obj2,key,排序 From: https://www.cnblogs.com/tingtaishou/p/18164239