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;}

posted @ 2018-03-02 08:37  稚语希听  阅读(311)  评论(0)    收藏  举报