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