gpt4 book ai didi

java - 按 Json Object 中的一些字段排序

转载 作者:行者123 更新时间:2023-12-01 14:05:35 33 4
gpt4 key购买 nike

我有一个包含对象数组的 Josn 文件,例如:

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

我必须根据开始时间和机器名称进行排序,并且只向用户显示这两个内容。如果 2 个或更多任务的开始时间相同,则应根据机器名称对这些任务的结果进行排序。我正在尝试将解析后得到的 JsonArray 转换为 List 并在此之后使用自定义 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());
}
});

关于java - 按 Json Object 中的一些字段排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16920285/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com