现有服务端返回的数据格式如下:
{
"success": true,
"data": [
{
"label": "高清频道",
"id": 1,
"expanded": false,
"children": [
{
"label": "CCTV1 综合高清",
"id": 1,
"actionUrl": "/tv-show-detail/1",
"imgUrl": "/cover/tv/1.jpg",
"current": {
"name": "瞬间中国",
"time": "15:15-15:23"
}
},
{
"label": "CCTV2 财经高清",
"id": 2,
"actionUrl": "/tv-show-detail/2",
"imgUrl": "/cover/tv/2.jpg",
"current": {
"name": "周末特供",
"time": "15:20-15:42"
}
},
{
"label": "BTV6 体育高清",
"id": 19,
"actionUrl": "/tv-show-detail/19",
"imgUrl": "/cover/tv/19.jpg",
"current": false
}
]
}
]
}
children
字段里元素对应的类的定义为(使用的 Retrofit 和 Gson ):
public class Channel {
@SerializedName("label")
private String label;
@SerializedName("id")
private int id;
@SerializedName("actionUrl")
private String actionUrl;
@SerializedName("imgUrl")
private String imgUrl;
@SerializedName("current")
private CurrentShow current;
......
而 CurrentShow
是我定义的用来解析 current
字段的:
public class CurrentShow {
private String name;
private String time;
private boolean empty;
...
现在的问题是,如果 current
字段为空的话值是 false
,否则是 name
和 time
字段,所以上面这个 CurrentShow
用来处理 current
字段是有问题的。这个应该怎么处理呢?
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.