首页 > 其他分享 >QJsonArray对其对象排序

QJsonArray对其对象排序

时间:2024-04-28 18:01:41浏览次数:27  
标签:obj1 QJsonObject include QJsonArray 对象 obj2 key 排序

#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

相关文章

  • 为什么打印对象,点开查看某属性有值,但是直接打印无值
    1.现象某些刚学习一段时间前端,或者学习一段时间后的一些人不知道为什么打印对象,点开查看某属性有值,但是直接打印无值.比较常见的一个开发现象就是发现自己直接打印对象有值,但是进行页面跳转或者其他业务请求之类的时候发现参数拿不到2.原因直接打开控制台的时候里面没......
  • 为什么vue打印的对象在浏览器中显示...
    1.现象当在vue中打印对象的时候会发现有一些属性或者全部属性都是显示的...,点击展开后才能看到真正的值是什么.2.原因因为在vue中对象都是用了代理重写了get,由于get重写也就导致了浏览器不能直接获取到具体的值,因此才会在打印的时候为...,手动点击展开才显示具体的值......
  • c#将一个类型对象数据赋值到另一个类型对象(名字相同的情况)
    ///<summary>///将一个类型对象数据赋值到另一个类型对象(名字相同的情况)///</summary>///<typeparamname="T">目标类型</typeparam>///<paramname="entity">目标类型对象</param>///<paramname="dto">源对象</para......
  • 一道神奇的面试题---无序数组排序后的最大相邻差
    一:概述这个算法的面试题目是:有一个无序整型数组,如何求出该数组排序后的任意两个相邻元素的最大差值?要求时间和空间复杂度尽可能低。  二:具体说明<1>第一种解法(初步解法)这个解法的大致思路:使用任意一种时间复杂度为O(nlogn)的排序算法(如快速......
  • turtle库创建画笔对象
    From: https://mp.weixin.qq.com/s/Ywb2aatt043-SfgMry0k4A-------------------------------------------------------------------------------------110.turtle库创建画笔对象Original 周晓宇python 安迪python学习笔记 2024-04-2221:02 云南 【目录】 1.知......
  • 短视频开发app,不会还有人不知道这些排序算法吧
    一、快速排序(QuickSort)快速排序采用分治法。首先从短视频开发app的数列中挑出一个元素作为中间值。依次遍历数据,所有比中间值小的元素放在左边,所有比中间值大的元素放在右边。然后按此方法对左右两个子序列分别进行递归操作,直到所有数据有序。最理想的情况是,每次划分所选择的......
  • 对象存储服务的图像处理特性
    AWSS3没有定义图像处理类的接口,但在官方文档中提供了文章使用AmazonS3对象Lambda在检索图像时动态添加水印,借助AmazonS3ObjectLambda由开发者自行实现相关的能力。技术方案作为兼容AWSS3能力的对象存储服务,交付图像处理特性时,关注点有:实现方式SDK独立进程部署......
  • 瑞士轮——结构体&&(快速排序 or 归并排序?)
    题目链接:https://www.luogu.com.cn/problem/P1309题意应该非常明确了(这里就不细讲了):有2*N个人,首先根据成绩进行排序,相邻的两个人进行比赛,强的人成绩+1,输的人成绩不变,最后又根据成绩进行排序,进行r次操作,如果成绩相同,初始时序号在前的排前面,最后输出第q个人的序号。思路:用快......
  • 对象存储服务的事件通知特性
    AWSS3提供了事件通知的能力,即在客户应用访问对象存储时,对象存储服务可提供通知服务,支撑客户的特定应用场景,比如业务审计、计费等。相关能力可参考官方文档。相关API,如下:PutBucketNotificationGetBucketNotificationPutBucketNotificationConfigurationGetBucketNotificati......
  • 对象存储服务的元数据检索特性
    依据AWSS3的AmazonS3RESTAPIIntroduction,当前提供的对象列举接口,如下:ListObjectVersionsListObjectsListObjectsV2上述接口仅支持使用前缀、对象版本作为检索条件,在业务交付时使用非常不方便。为提供类似Everything的检索能力,可以参考ECSDataAccessGuide3.5.0.2中......