按Json对象中的某些字段排序

2023-12-05

我有一个 Json 文件,其中包含对象数组,例如:

{
    "tId": "Something",
    "StartTime": "05/29/2013 5:28:33 PM",
    "CompleteTime": "05/29/2013 5:28:33 PM",
    "Status": "success",
    "MachineName": "Machine",
},

我必须根据开始时间和计算机名称进行排序,并仅向用户显示这两件事。如果 2 个或更多任务的开始时间相同,则这些任务的结果应根据计算机名称排序。我正在尝试将解析后得到的 JsonArray 转换为列表,然后使用自定义的 collections.sort 。我的方向正确吗?如何修改 Collections.sort 中的比较器以在启动时间相同的情况下根据机器名称进行排序

  JsonArray allTasks = jsonParser.parse(reader).getAsJsonArray();

  ArrayList<String> list = new ArrayList<String>();

  if (allTasks != null) { 
     int len = allTasks.size();
     for (int i=0;i<len;i++){ 
      list.add(allTasks .get(i).toString());
     } 
  }
  for (String task : list) {
    // code to fetch just 2 fields from this task and then sort according to start time
  }

您的排序例程将如下所示,具体取决于您如何进行 JSON/对象映射的具体情况:

Collections.sort(myObjectList, new Comparator<MyObject>() {
  @Override
  int compare(MyObject a, MyObject b) {
    if (a.getStartTime().equals(b.getStartTime())) {
      return a.getMachineName().compare(b.getMachineName());
    }
    return a.getStartTime().compare(b.getStartTime());
  }
});
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

按Json对象中的某些字段排序 的相关文章

随机推荐

  • 闪亮的允许用户选择要显示的列

    我正在涉足闪亮的数据表功能 我有兴趣创建一个井面板或侧面板 列出数据表的所有列 并允许用户选择他们想要在数据表上看到的列 现在下面的代码显示玩具数据集的所有列mtcars library shiny runApp list ui basic
  • Sklearn MLP 特征选择

    带交叉验证的递归特征消除 RFEVC 不适用于多层感知器估计器 以及其他几个分类器 我希望在许多分类器中使用特征选择 执行交叉验证来验证其特征选择 有什么建议么 对于结构化数据 有一个独立于模型选择的特征选择 称为排列重要性 解释得很好he
  • 在 V8 中执行函数的具体执行次数是多少之后变得很热?

    我正在学习 V8 的内部工作原理 发现有 JIT 编译器 它可以通过内联缓存技术动态优化热函数 我只有两个问题 第一 函数只要连续执行几次就算热函数吗 其次 V8 中函数在重复执行多少次之后就会变热 V8 开发者在这里 函数的 热度 不仅仅
  • 静态方法内存消耗

    我有以下具有以下方法的类 public class Foo public string A get set public static Foo New string a Foo newFoo new Foo newFoo A a retur
  • TShellTreeView 在哪里?

    我正在尝试在 Delphi 10 Seattle 中编译一个旧项目并收到以下错误消息 类 TShellTreeView 未找到单击取消忽略 TShellTreeView是一个设计时组件 是ShellCtrls软件包 始终随 Delphi 一
  • Delphi 和 PHP 中的安全密钥对加密解决方案?

    我的应用程序通过互联网发送加密文件 我需要能够执行以下操作 客户端 Delphi 2010 使用加密文件公钥随我的应用程序一起提供并上传到服务器 服务器端 PHP 使用我的解密上传的文件私钥存储在服务器上 处理上传的文件 听起来很简单 但我
  • MATCH 或 VLOOKUP 从范围末尾开始

    我有一张看起来像这样的桌子 A B ID1 data 123 ID2 data 234 ID1 data 456 ID2 data 567 我正在尝试找到最好的检索方法data 567对于 ID2 在 ID2 上使用 MATCH 使用选项
  • 如何显示尽可能多的项目适合一行,如果全部不适合显示剩余项目的数量

    我刚刚开始学习Svelte 我想在一行中显示尽可能多的电子邮件 并使用如下数字显示剩余的电子邮件 https i stack imgur com 9k7np jpg 我想在不修改父组件中的代码的情况下实现这一点 我只是想改变DisplayE
  • Java 获取屏幕上的像素颜色?

    您好 我正在尝试获取 JFrame 上特定像素的颜色 这是我的代码 我的镜框是红色的 我遇到的问题是 当我单击框架时 它应该返回红色的 RGB 颜色 即 255 0 0 但是当我单击不同的点时 有时会得到白色的 RGB 颜色 255 255
  • 获取某个国家/地区的默认时区(通过 CultureInfo)

    是否有程序或表格提供每个国家 地区的默认时区 是的 美国 加拿大和俄罗斯有多个时区 我认为其他每个国家 地区都只有一个 但是 最好从最有可能知道的国家 地区开始 而不是仅提供从 GMT 开始的列表 最好使用 C 但我会将其放入任何内容中并转
  • java中的html截断器

    是否有任何实用程序 或示例源代码 可以在 Java 中截断 HTML 用于预览 我想在服务器上而不是在客户端上进行截断 我正在使用 HTMLUnit 来解析 HTML UPDATE 我希望能够预览 HTML 因此截断器将保持 HTML 结构
  • Pytorch 张量 - 如何通过特定张量获取索引

    我有一个张量 t torch tensor 1 0 0 0 0 0 1 0 0 1 0 0 1 0 0 0 和一个查询张量 q torch tensor 1 0 0 0 有没有办法获取索引q like indexes t index q g
  • 从 Cordova Capture 获取音频数据的 base64

    我正在使用 ngCordova Capture 通过录制音频并将 Base64 发送到某处 通过 REST 来编写此代码 我可以让捕获音频工作 但是一旦它返回audioURI 我就无法从文件系统获取base64 的数据 我的代码如下 cor
  • 无法解析 org.springframework.transaction.annotation.Transactional 的依赖关系

    我是基于注释的编程的新手 不知道要添加到我的 pom xml 中的 Maven 工件org springframework transaction annotation Transactional 我用谷歌搜索 如搜索结果的前 5 页 但无
  • 安装 Graphviz 2.38 后出现“运行时错误:确保 Graphviz 可执行文件位于系统路径上”

    我下载了Graphviz 2 38MSI 版本并安装在文件夹下C Python34 然后我跑pip install Graphviz 一切顺利 在系统路径中我添加了C Python34 bin 当我尝试运行测试脚本时 filename do
  • 从 sns.kdeplot 中提取数据

    是否可以从a中提取数据sns kdeplot 在策划之前 IE 不使用该功能y get lines 0 get data 后绘图 这可以通过从 matplotlib Axes 对象中提取线条数据来完成 import numpy as np
  • 从 x86 CPU 生成 64 字节读取 PCIe TLP

    将数据写入 PCIe 设备时 可以使用写入组合映射来提示 CPU 应生成针对该设备的 64 字节 TLP 是否可以对读取做类似的事情 以某种方式提示 CPU 读取整个缓存行或更大的缓冲区 而不是一次读取一个字 英特尔有关于从视频 RAM 复
  • Codeigniter GROUP_CONCAT

    I have this gt db gt select GROUP CONCAT prod poster poster2 poster3 poster4 poster5 poster6 poster7 我对此有错误并显示 sql 查询 SE
  • 在mysql的列底部显示总和

    除了使用 Union 查询之外 是否还有其他方法 而不是使用以下查询来显示底部列的总和 select amount from receipt UNION select SUM amount from receipt 带汇总应该完全执行您正在
  • 按Json对象中的某些字段排序

    我有一个 Json 文件 其中包含对象数组 例如 tId Something StartTime 05 29 2013 5 28 33 PM CompleteTime 05 29 2013 5 28 33 PM Status success