/*package*/ static List<Trends> constructTrendsList(Response res) throws WeiboException { JSONObject json = res.asJSONObject(); List<Trends> trends; try { Date asOf = parseDate(json.getString("as_of")); JSONObject trendsJson = json.getJSONObject("trends"); trends = new ArrayList<Trends>(trendsJson.length()); Iterator ite = trendsJson.keys(); while (ite.hasNext()) { String key = (String) ite.next(); JSONArray array = trendsJson.getJSONArray(key); Trend[] trendsArray = jsonArrayToTrendArray(array); if (key.length() == 19) { // current trends trends.add(new Trends(res, asOf, parseDate(key, "yyyy-MM-dd HH:mm:ss"), trendsArray)); } else if (key.length() == 16) { // daily trends trends.add(new Trends(res, asOf, parseDate(key, "yyyy-MM-dd HH:mm"), trendsArray)); } else if (key.length() == 10) { // weekly trends trends.add(new Trends(res, asOf, parseDate(key, "yyyy-MM-dd"), trendsArray)); } } Collections.sort(trends); return trends; } catch (JSONException jsone) { throw new WeiboException(jsone.getMessage() + ":" + res.asString(), jsone); } }
/*package*/ static Trends constructTrends(Response res) throws WeiboException { JSONObject json = res.asJSONObject(); try { Date asOf = parseDate(json.getString("as_of")); JSONArray array = json.getJSONArray("trends"); Trend[] trendsArray = jsonArrayToTrendArray(array); return new Trends(res, asOf, asOf, trendsArray); } catch (JSONException jsone) { throw new WeiboException(jsone.getMessage() + ":" + res.asString(), jsone); } }