1 示例json数据链接 http://api.bilibili.com/online_list?_device=android&platform=android&typeid=13&sign=a520d8d8f7a7240013006e466c8044f7
2 此数据格式的json不能直接用GsonFormat自动生成,需要手动生成。生成的bean类如下
public class TestBean
{
private int code;
private List<ListBean> list;
public int getCode()
{
return code;
}
public void setCode(int code)
{
this.code = code;
}
public List<ListBean> getList()
{
return list;
}
public void setList(List<ListBean> list)
{
this.list = list;
}
public static class ListBean
{
private String aid;
private String author;
private String create;
private String description;
private String duration;
private int mid;
private String pic;
private String title;
private String typename;
public String getAid()
{
return aid;
}
public void setAid(String aid)
{
this.aid = aid;
}
public String getAuthor()
{
return author;
}
public void setAuthor(String author)
{
this.author = author;
}
public String getCreate()
{
return create;
}
public void setCreate(String create)
{
this.create = create;
}
public String getDescription()
{
return description;
}
public void setDescription(String description)
{
this.description = description;
}
public String getDuration()
{
return duration;
}
public void setDuration(String duration)
{
this.duration = duration;
}
public int getMid()
{
return mid;
}
public void setMid(int mid)
{
this.mid = mid;
}
public String getPic()
{
return pic;
}
public void setPic(String pic)
{
this.pic = pic;
}
public String getTitle()
{
return title;
}
public void setTitle(String title)
{
this.title = title;
}
public String getTypename()
{
return typename;
}
public void setTypename(String typename)
{
this.typename = typename;
}
@Override
public String toString()
{
return "ListBean{" +
"aid='" + aid + '\'' +
", author='" + author + '\'' +
", create='" + create + '\'' +
", description='" + description + '\'' +
", duration='" + duration + '\'' +
", mid=" + mid +
", pic='" + pic + '\'' +
", title='" + title + '\'' +
", typename='" + typename + '\'' +
'}';
}
}
3 联网请求得到json数据,手动解析json数据
private TestBean processData(String json)
{
TestBean testBean = new TestBean();
try
{
List<TestBean.ListBean> list = new ArrayList<>();
JSONObject jsonObject = new JSONObject(json);
int code = jsonObject.optInt("code");
testBean.setCode(code);
JSONObject listObject = jsonObject.optJSONObject("list");
testBean.setList(list);
if (listObject != null)
{
for (int i = 0; i < 12; i++)
{
JSONObject dataobject = listObject.optJSONObject("" + i);
if (dataobject != null)
{
TestBean.ListBean listBean = new TestBean.ListBean();
String aid = dataobject.optString("aid");
listBean.setAid(aid);
String author = dataobject.optString("author");
listBean.setAuthor(author);
String create = dataobject.optString("create");
listBean.setCreate(create);
String description = dataobject.optString("description");
listBean.setDescription(description);
String duration = dataobject.optString("duration");
listBean.setDuration(duration);
String pic = dataobject.optString("pic");
listBean.setPic(pic);
String title = dataobject.optString("title");
listBean.setTitle(title);
String typename = dataobject.optString("typename");
listBean.setTypename(typename);
int mid = dataobject.optInt("mid");
listBean.setMid(mid);
list.add(listBean);
}
}
}
}
catch (JSONException e)
{
e.printStackTrace();
}
return testBean;
}