首页 > 代码库 > Android--JSONArray排序
Android--JSONArray排序
1、先把JSONArray放在一个ArrayList里边,利用ArrayList排序
JSONArray mJSONArray;
protected void sortJsonArrayByDate(String dateName){
List<JSONObject> list = new ArrayList<JSONObject> ();
JSONObject jsonObj = null;
for (int i = 0; i < mJSONArray.length(); i++) {
jsonObj = mJSONArray.optJSONObject(i);
list.add(jsonObj);
}
//排序操作
JsonComparator pComparator = new JsonComparator(dateName);
Collections.sort(list, pComparator);
//把数据放回去
mJSONArray = new JSONArray();
for (int i = 0; i < list.size(); i++) {
jsonObj = list.get(i);
mJSONArray.put(jsonObj);
}
}
2、实现Comparator接口,自定义比较规则
public class JsonComparator implements Comparator<JSONObject>{ String dateName = ""; JsonComparator(String dateName){ this.dateName = dateName; } @Override public int compare(JSONObject json1, JSONObject json2){ String date1 = json1.optString(dateName); String date2 = json2.optString(dateName); if(date1.compareTo(date2) < 0){ return 1; }else if(date1.compareTo(date2) >0){ return -1; } return 0; }}
Android--JSONArray排序
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。