怎么获得如下从新浪微博中获取数据的中的name值中的属性

a630975128 2011-11-22 02:17:53
1、
public class Trend implements java.io.Serializable{
private String name;
private String query = null;
private static final long serialVersionUID = 1925956704460743946L;

public Trend(JSONObject json) throws JSONException {
this.name = json.getString("name");
if (!json.isNull("query")) {
this.query = json.getString("query");
}
}

public String getName() {
return name;
}


public String getQuery() {
return query;
}

@Override
public boolean equals(Object o) {
if (this == o) return true;
if (!(o instanceof Trend)) return false;

Trend trend = (Trend) o;

if (!name.equals(trend.name)) return false;
if (query != null ? !query.equals(trend.query) : trend.query != null)
return false;

return true;
}

@Override
public int hashCode() {
int result = name.hashCode();
result = 31 * result + (query != null ? query.hashCode() : 0);
return result;
}

@Override
public String toString() {
return "Trend{" +
"name='" + name + '\'' +
", query='" + query + '\'' +
'}';
}
}
2、
public class Trends extends WeiboResponse implements Comparable<Trends> {
private Date asOf;
private Date trendAt;
private Trend[] trends;
private static final long serialVersionUID = -7151479143843312309L;

public int compareTo(Trends that) {
return this.trendAt.compareTo(that.trendAt);
}

/*package*/ Trends(Response res, Date asOf, Date trendAt, Trend[] trends)
throws WeiboException {
super(res);
this.asOf = asOf;
this.trendAt = trendAt;
this.trends = trends;
}

/*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);
}
}

private static Date parseDate(String asOfStr) throws WeiboException {
Date parsed;
if (asOfStr.length() == 10) {
parsed = new Date(Long.parseLong(asOfStr) * 1000);
} else {
parsed = WeiboResponse.parseDate(asOfStr, "EEE, d MMM yyyy HH:mm:ss z");
}
return parsed;
}

private static Trend[] jsonArrayToTrendArray(JSONArray array) throws JSONException {
Trend[] trends = new Trend[array.length()];
for (int i = 0; i < array.length(); i++) {
JSONObject trend = array.getJSONObject(i);
trends[i] = new Trend(trend);
}
return trends;
}

public Trend[] getTrends() {
return this.trends;
}

public Date getAsOf() {
return asOf;
}

public Date getTrendAt() {
return trendAt;
}

@Override
public boolean equals(Object o) {
if (this == o) return true;
if (!(o instanceof Trends)) return false;

Trends trends1 = (Trends) o;

if (asOf != null ? !asOf.equals(trends1.asOf) : trends1.asOf != null)
return false;
if (trendAt != null ? !trendAt.equals(trends1.trendAt) : trends1.trendAt != null)
return false;
if (!Arrays.equals(trends, trends1.trends)) return false;

return true;
}

@Override
public int hashCode() {
int result = asOf != null ? asOf.hashCode() : 0;
result = 31 * result + (trendAt != null ? trendAt.hashCode() : 0);
result = 31 * result + (trends != null ? Arrays.hashCode(trends) : 0);
return result;
}

@Override
public String toString() {
return "Trends{" +
"asOf=" + asOf +
", trendAt=" + trendAt +
", trends=" + (trends == null ? null : Arrays.asList(trends)) +
'}';
}
}
获得的值如下:Trends{asOf=Tue Nov 22 14:05:04 CST 2011, trendAt=Tue Nov 22 22:05:00 CST 2011, trends=[Trend{name='你在他乡还好吗', query='你在他乡还好吗'}, Trend{name='嫁得好娶得妙', query='嫁得好娶得妙'}, Trend{name='产假或延长至14周', query='产假或延长至14周'}, Trend{name='周一好爽有没有', query='周一好爽有没有'}, Trend{name='我可能不会爱你', query='我可能不会爱你'}, Trend{name='你被困“围城”了吗', query='你被困“围城”了吗'}, Trend{name='你还看电视吗', query='你还看电视吗'}, Trend{name='法证先锋3', query='法证先锋3'}, Trend{name='工资涨幅pk物价涨幅', query='工资涨幅pk物价涨幅'}, Trend{name='我们终究会牵手旅行', query='我们终究会牵手旅行'}]}
...全文
143 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
qingshanlls 2012-04-01
  • 打赏
  • 举报
回复
JSON文件格式解析
jessierzlz 2011-12-18
  • 打赏
  • 举报
回复
同问,等待高手解答。
内容概要:本文围绕“单相逆变器闭环逆变电路PWM模型仿真研究”展开,基于Simulink平台构建单相逆变器的闭环控制系统仿真模型,重点研究PWM调制技术在逆变电路的应用与实现。文详细阐述了系统架构设计、电压电流双闭环控制策略的实现原理、控制器参数设计及仿真建模全过程,并通过仿真结果验证了控制方案在动态响应、稳态精度与系统稳定性方面的有效性。同时,文档还涵盖多种电力电子系统典型应用场景,如多类型短路故障仿真(性点不接地、经小电阻接地、经消弧线圈接地等)、软开关技术、微电网能量管理、MPPT控制等,体现出较强的技术综合性和工程实践价值。; 适合人群:电气工程、自动化、电力电子与新能源等相关专业的高校本科生、研究生、科研人员,以及从事电力系统仿真、逆变器设计与新能源并网技术研发的工程技术人员。; 使用场景及目标:①掌握基于Simulink的单相逆变器闭环控制系统建模与PWM仿真方法;②深入理解双闭环控制、SPWM/SVPWM调制、系统稳定性分析等核心技术原理;③为课程设计、毕业设计、科研项目或实际工程开发提供可复用的仿真模型与技术支持; 阅读建议:建议结合文仿真模型动手实践,重点掌握PI控制器参数整定、PWM信号生成机制与仿真结果分析方法,同时可延伸学习文档涉及的软开关、故障仿真、微电网控制等关联技术,以拓展系统级设计能力。

51,409

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧