JSON数组排序
/** * 排序产品价格 * @param vendors * @param cabin * @return * @throws Exception */ public JSONObject getSortedJSONObjectFromJSONArray(JSONArray vendors,final String cabin)throws Exception{ if (null ==vendors || vendors.size() == 0) { return null; } //装载排序后的JSON信息 List<JSONObject> vendorList = new ArrayList<JSONObject>(); //vendors的json数组转成LIST数组,用辅助类Collections.sort来排序 for (int i = 0; i < vendors.size(); i++) { vendorList.add(vendors.getJSONObject(i)); } //开始按销售价排序 Collections.sort(vendorList, new Comparator<JSONObject>() { @Override public int compare(JSONObject a, JSONObject b) { Integer valA = new Integer(0); Integer valB = new Integer(0); try { valA = a.getInteger("barePrice"); valB = b.getInteger("barePrice"); } catch (JSONException e) { throw new JSONException(e.toString()); } return valA.compareTo(valB); } }); //在排序后的json数组中找与当前仓位一致的最低价格的 for (Object jsonObject : vendorList) { JSONObject eachObj = (JSONObject)jsonObject; String eachCabin = StringUtil.getStringFromEmpty(eachObj.getString("cabin")); if (eachCabin.equalsIgnoreCase(cabin)) { return eachObj; } } return null; }
/** * 排序产品价格 * @param vendors * @param cabin * @return * @throws Exception */public JSONObject getSortedJSONObjectFromJSONArray(JSONArray vendors,final String cabin)throws Exception{ if (null ==vendors || vendors.size() == 0) { return null; }//装载排序后的JSON信息List<JSONObject> vendorList = new ArrayList<JSONObject>();//vendors的json数组转成LIST数组,用辅助类Collections.sort来排序 for (int i = 0; i < vendors.size(); i++) { vendorList.add(vendors.getJSONObject(i)); } //开始按销售价排序 Collections.sort(vendorList, new Comparator<JSONObject>() {@Overridepublic int compare(JSONObject a, JSONObject b) {Integer valA = new Integer(0);Integer valB = new Integer(0);try {valA = a.getInteger("barePrice");valB = b.getInteger("barePrice");} catch (JSONException e) {throw new JSONException(e.toString());}return valA.compareTo(valB);} }); //在排序后的json数组中找与当前仓位一致的最低价格的 for (Object jsonObject : vendorList) { JSONObject eachObj = (JSONObject)jsonObject; String eachCabin = StringUtil.getStringFromEmpty(eachObj.getString("cabin")); if (eachCabin.equalsIgnoreCase(cabin)) { return eachObj; } } return null;}

浙公网安备 33010602011771号