一般我們在做android應用時,一般都要與服務器打交道,當我們向服務器發送一個請求時,服務器會以json格式的數據或者是xml格式的數據將信息反饋給我們,
json格式的數據相比xml數據,json格式的數據相對要小一些,佔的帶寬也會小一些。
下面通過代碼給出json格式數據具體的解析方式。
public List<Blog> parseJSON(InputStream in) throws Exception {
List<Blog> blogs = new ArrayList<Blog>();
Blog blog = null;
byte[] data = Util.load(in);
// 讀取流中的所有數據
String jsonStr = new String(data);
// 轉爲字符串
JSONArray jsonArray = new JSONArray(jsonStr);
// 將字符串轉爲JSON數組
for (int i = 0; i < jsonArray.length(); i++) {
// 循環遍歷JSON數組
JSONObject jsonObject = jsonArray.getJSONObject(i);
// 得到數組中的每個JSON對象
blog = new Blog();
// 創建Blog對象
blog.setPortrait(jsonObject.getString("portrait"));
// 從JSON對象中獲取數據, 裝入Blog對象
blog.setName(jsonObject.getString("name"));
blog.setContent(jsonObject.getString("content"));
String imgUrl = jsonObject.getString("image");
blogs.add(blog);
}
return blogs;
}
package cn.itcast.blog;
public class Blog {
private String portrait;
private String name;
private String content;
public Blog() {
super();
}
public String getPortrait() {
return portrait;
}
public void setPortrait(String portrait) {
this.portrait = portrait;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getContent() {
return content;
}
public void setContent(String content) {
this.content = content;
}
}