您的位置:首页 > 移动开发 > Android开发

android对json数据的解析

2012-05-06 11:56 246 查看
服务器端通过webservice传过来的json数据格式如下,一个对象列表

{"DiaryCategory":[{'diarycount':3, 'notebookid':22, 'notebookname'=test},{'diarycount':0, 'notebookid':23, 'notebookname'=nihao }]}

通过Android中json数据解析,获得一个List<Notebook>

Notebook类

public class Notebook {
private int id;
private String notebookname;
private int diarycount;

public Notebook() {
super();
}

public Notebook(int id, String notebookname, int diarycount) {
super();
this.id = id;
this.notebookname = notebookname;
this.diarycount = diarycount;
}

public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getNotebookname() {
return notebookname;
}
public void setNotebookname(String notebookname) {
this.notebookname = notebookname;
}
public int getDiarycount() {
return diarycount;
}
public void setDiarycount(int diarycount) {
this.diarycount = diarycount;
}

@Override
public String toString() {
return "Notebook [diarycount=" + diarycount + ", id=" + id
+ ", notebookname=" + notebookname + "]";
}

}
解析代码如下

String jsonString = webserviceOp(request);
JSONArray jsonObjs;
try {
jsonObjs = new JSONObject(jsonString).getJSONArray("DiaryCategory");//返回json对象数组

String s = "";
for (int i = 0; i < jsonObjs.length(); i++) {
Notebook notebook = new Notebook();
JSONObject jsonObj = (JSONObject) jsonObjs.opt(i);
int id = jsonObj.getInt("notebookid");
notebook.setId(id);
String notebookname = jsonObj.getString("notebookname");
notebook.setNotebookname(notebookname);
int diarycount = jsonObj.getInt("diarycount");
notebook.setDiarycount(diarycount);

listNoteBook.add(notebook);
}
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: