我有一个JSON数组:
public JSONObject toJSONObject(DataJSONConverter dataJsonConverter) {
JSONObject jsonResponse = new JSONObject();
if (datas != null && dataJsonConverter != null) {
JSONArray jsonDatas = new JSONArray();
// for (Iterator<? extends Object> iter = datas.iterator(); iter.hasNext();) {
// jsonDatas.put(dataJsonConverter.toJSONObject(iter.next()));
// }
for (Object iter : datas) {
jsonDatas.put(dataJsonConverter.toJSONObject(iter));
}
jsonResponse.put("datas", jsonDatas);
jsonResponse.put("count", count);
}
结果为“数据”:
[{"id":60685,"libelle":"BILAN3","typeAnomalie":"Trop de points
invalides","dateDebut":"18\/07\/2013 00:00","numero":"1268"}
{"id":60628,"libelle":"_fictif","typeAnomalie":"Trop de points
invalides","dateDebut":"02\/06\/2013 00:00","numero":"1242"}
{"id":14672,"libelle":"NAVIL 949","typeAnomalie":"D\u00e9passement","dateDebut":"13\/05\/2012 12:00","numero":"263"}]
如何通过“dateDebut”升序?
THX
答案 0 :(得分:1)
JSONArray
不可排序。您可以将数据提取到ArrayList
,然后使用comparator
排序,然后重新放入JSONArray
。
答案 1 :(得分:0)
http://www.dzone.com/links/1123623.html(路径表达式和JSON)
http://www.dzone.com/links/1123621.html(排序JSON)
http://www.dzone.com/links/1091051.html(使用解析器)
http://www.dzone.com/links/java_boon_filtering_for_java_beans_json_and_java.html(使用索引搜索执行JSON ETL以及搜索和排序)
http://www.dzone.com/links/java_boon_filtering_for_java_beans_json_and_java.html(使用Boon过滤JSON)
这是一个排序示例:
Object jsonObject = fromJson(json);
List<?> jsonDepartments = (List<?>) jsonObject;
List<?> jsonEmployees = (List<Employee>) atIndex(jsonDepartments, "employees");
sort(employees); //natural sort
sort( employees, "lastName"); //sort by last name
sort( departmentList );
sort( employees, sortBy( "department.name" ),
sortByDescending( "lastName" ),
sortBy( "firstName" ) ); //well you get the idea
sort(employees,
sortBy("contactInfo.phoneNumbers[0]")); //you can even sort by an path expression
sort( employees,
sortByDescending("contactInfo.phoneNumbers[0]") ); //forward and backwards
噢,是的......还有一件事......快速尖叫。 :)