对一个jsonarray对象进行排序,可根据内部字段定义排序
public static void main(String[] args){
String json="[{id:2,name:'李布',age:'15'},{id:1,name:'杜甫',age:'15'},{id:3,name:'李太白',age:'18'},{id:4,name:'李白',age:'18'}]";
JSONArray ja=JSONArray.fromObject(json);
ComparatorChain compChain=new ComparatorChain();
Comparator comp=ComparableComparator.getInstance();
comp=ComparatorUtils.reversedComparator(comp);
compChain.addComparator(new BeanComparator("id"));
compChain.addComparator(new BeanComparator("age",comp));
System.out.println(ja);
Collections.sort(ja, compChain);
System.out.println(ja);
}
//out:
{"id":2,"name":"李布","age":"15"}
{"id":1,"name":"杜甫","age":"15"}
{"id":3,"name":"李太白","age":"18"}
{"id":4,"name":"李白","age":"18"}
//out:
{"id":1,"name":"杜甫","age":"15"}
{"id":2,"name":"李布","age":"15"}
{"id":3,"name":"李太白","age":"18"}
{"id":4,"name":"李白","age":"18"}
依赖的包有
commons-collections.jar
commons-beanunits.jar
commons-lang.jar
json-lib-jdk15.jar
ezmorph.jar