/*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); } }
/*modify by sycheng add json define */ /*package*/ Comment(Response res) throws WeiboException { super(res); JSONObject json = res.asJSONObject(); try { id = json.getLong("id"); text = json.getString("text"); source = json.getString("source"); createdAt = parseDate(json.getString("created_at"), "EEE MMM dd HH:mm:ss z yyyy"); if (!json.isNull("user")) user = new User(json.getJSONObject("user")); } catch (JSONException je) { throw new WeiboException(je.getMessage() + ":" + json.toString(), je); } }