繁体   English   中英

在Java中对JSONArray进行排序

[英]Sorting a JSONArray in java

我正在使用一个API,在其中我得到一个JSONArray ,其中驻留了许多JSONobjects ,这些JSONobjects包含大约10个KeyValue对。 date: 10-3-2015之一是date: 10-3-2015 我想根据日期值以排序方式使用此JSONArray 我尝试了包括TreeMap在内的各种方法,但还没有成功。

一小段代码或完整的想法将为我完成工作。 谢谢。

编辑:

在此处输入图片说明

如果您使用模型将元素保存在JSONArray中,则可以轻松进行排序。假设您有模型Person且JSON数组包含人员列表,则可以遍历JSONArray并按如下方式创建人员列表:

List<Person> persons=new ArrayList<>();
if(jsonArray!=null){
    for(JSONObject person:jsonArray){
       Person p=new Person();
       //set properties
       //.............
       //add it to persons
       persons.add(p); 
    }
}

现在,您可以按以下方式对人员列表进行排序:

Collections.sort(persons, new Comparator() {
        public int compare(Object obj1, Object obj2) {
            if (!(obj1 instanceof Person) || !(obj2 instanceof Person)) {
                return -1;
            }
            Person p1 = (Person)obj1;
            Person p2 = (Person)obj2;
            return p1.getAge() -p2.getAge();
        }
    });

现在,您可以使用此排序列表“人员”。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM