JSON数组排序
2015-08-14 10:43
681 查看
Json数组中有json对象,json对象有多个key-value对。根据json对象中的某个key对json数组进行排序。如果value是数字,就按照数字排序。否则,按照自然排序。
方法如下:
/**
*
* @param ja json数组
* @param field 要排序的key
* @param isAsc 是否升序
*/
private static void sort(JSONArray ja,final String field, boolean isAsc){
Collections.sort(ja, new Comparator<JSONObject>() {
@Override
public int compare(JSONObject o1, JSONObject o2) {
Object f1 = o1.get(field);
Object f2 = o2.get(field);
if(f1 instanceof Number && f2 instanceof Number){
return ((Number)f1).intValue() - ((Number)f2).intValue();
}else{
return f1.toString().compareTo(f2.toString());
}
}
});
if(!isAsc){
Collections.reverse(ja);
}
}
方法如下:
/**
*
* @param ja json数组
* @param field 要排序的key
* @param isAsc 是否升序
*/
private static void sort(JSONArray ja,final String field, boolean isAsc){
Collections.sort(ja, new Comparator<JSONObject>() {
@Override
public int compare(JSONObject o1, JSONObject o2) {
Object f1 = o1.get(field);
Object f2 = o2.get(field);
if(f1 instanceof Number && f2 instanceof Number){
return ((Number)f1).intValue() - ((Number)f2).intValue();
}else{
return f1.toString().compareTo(f2.toString());
}
}
});
if(!isAsc){
Collections.reverse(ja);
}
}
相关文章推荐
- 前台 JSON对象转换成字符串 相互转换 的几种方式
- jsp中的fn标签的使用
- JSOUP爬虫示例
- js正则控制文本框只能输入数字以及小数
- PagingToolbarResizer.js的使用注意事项! (转)
- javascript事件委托,事件代理,元素绑定多个事件之练习篇
- Gson解析数组和list容器
- javascript之DOM操作
- JSBinding+SharpKit / 更新的原理
- JavaScript中对象类型判断的几种方法
- js unix时间戳转换
- js 复制网页内容,兼容各浏览器
- jsp页面显示登入时间
- jsp/servlet相关技术 (二) --- jsp的原理、注释、声明、脚本等
- 实例讲解js中的预编译
- Chrome 控制台 如何调试javascript
- Google Chrome调试js代码
- JSON 数据格式
- 一个jsp的注册界面
- js实现选中复选框文字变色的方法