gpt4 book ai didi

java - 对 Javascript 对象文字进行排序

转载 作者:行者123 更新时间:2023-12-02 07:16:28 24 4
gpt4 key购买 nike

我继承了一个项目,该项目使用 JSON 来执行每个对象文字所表示的一系列操作。我对 JSON 的经验为零,虽然符号很简单,但我发现使用对象文字的经验就不那么丰富了。

考虑以下文件:

[{
"Name": "Hingle McCringleberry",
"ID": "4"
},
{
"Name": "Scoish Velociraptor Maloish",
"ID": "1"
},
{
"Name": "DGlester Hardunkichud",
"ID": "3"
}]

使用Java,我想按ID 对它们进行排序。我看到this thread那谈到了实现 JavaScript 排序方法,但我不确定如何在实践中做到这一点。我正在使用 JsonFactoryJsonParser读取并迭代文件,但我需要先对它们进行排序,然后才能处理它们。

最佳答案

由于您使用 Jackson 来解析这些,我假设您必须将它们解析为 List某种具有 ID 和名称的对象。如果是这样的话,只需写一个标准Comparator 。例如:

NamedObject.java:

public class NamedObject {
// I'm using public fields instead of getters/setters for brevity,
// since this is just sample code.

@JsonProperty("ID")
public int id;

@JsonProperty("Name")
public String name;
}

NamedObjectIdComparator.java:

public class NamedObjectIdComparator implements Comparator<NamedObject> {
public int compare(NamedObject object1, NamedObject object2) {
return object1.id - object2.id;
}
}

然后,对对象列表进行排序:

List<NamedObject> objects = // parse using JsonParser
Collections.sort(objects, new NamedObjectIdComparator());

关于java - 对 Javascript 对象文字进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14880813/

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