本文共 1856 字,大约阅读时间需要 6 分钟。
packagetestJava;importjava.util.ArrayList;importjava.util.Collections;importjava.util.List;importcom.google.gson.JsonParser;importcom.google.gson.JsonArray;importcom.google.gson.JsonObject;public classTestJava {public static voidmain(String[] args) {//TODO Auto-generated method stub
jsoaArraySort();
}public static voidjsoaArraySort() {
String arrayData= "["
+ "{\"Name\":\"TVS\",\"No\":" + 202 + ",\"Length\":" + 23 + "},"
+ "{\"Name\":\"TVC\",\"No\":" + 203 + ",\"Length\":" + 14 + "},"
+ "{\"Name\":\"Wel\",\"No\":" + 345 + ",\"Length\":" + 35 + "},"
+ "{\"Name\":\"Sma\",\"No\":" + 678 + ",\"Length\":" + 45 + "},"
+ "{\"Name\":\"Sma\",\"No\":" + 136 + ",\"Length\":" + 15 + "},"
+ "{\"Name\":\"Cus\",\"No\":" + 257 + ",\"Length\":" + 17 + "},"
+ "{\"Name\":\"And\",\"No\":" + 678 + ",\"Length\":" + 16 + "},"
+ "{\"Name\":\"Roo\",\"No\":" + 136 + ",\"Length\":" + 56 + "}"
+"]";
JsonParser parser= newJsonParser();
JsonArray jsonArray=parser.parse(arrayData).getAsJsonArray();
System.out.println("init jsonArray=" +jsonArray.toString());
JsonArray sort_JsonArray= newJsonArray();
List list = new ArrayList();
JsonObject jsonObj= null;for (int i = 0; i < jsonArray.size(); i++) {
jsonObj=(JsonObject) jsonArray.get(i);
list.add(jsonObj);
}//这里最核心的地方就是SortComparator这个类//其中构造方法的参数://sortItem是要排序的jsonArray中一个元素, 这里我选择是Name, 也可以选择No或者是Length//sortType是排序的类型, 有三种情况//1. 排序的元素对应的值是int, 那么sortType = "int";//2. 排序的元素对应的值是string, 那么sortType = "string";//3. 排序的元素对应的是是其他类型, 默认是不排序, (后面可以扩展)//sortDire是排序的方向, 可以是asc或者desc, 默认是数据的原始方向(就是没有排序方向)
String sortItem = "Length";
String sortType= "int";
String sortDire= "desc";
Collections.sort(list,newSortComparator(sortItem, sortType, sortDire));for (int i = 0; i < list.size(); i++) {
jsonObj=list.get(i);
sort_JsonArray.add(jsonObj);
}
System.out.println("after sort_JsonArray=" +sort_JsonArray.toString());
}
}
转载地址:http://tgeav.baihongyu.com/