android对json数据的解析
16lz
2022-01-10
服务器端通过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;}@Overridepublic 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 blocke.printStackTrace();}
更多相关文章
- Android(安卓)Root方法原理解析及Hook(一) adbd漏洞
- android SlidingMenu 侧边菜单划出后剩余部分阴影设置
- Android(安卓)内存以及相应的泄漏问题收集中
- [Android] Handler源码解析 (Java层)
- Android(安卓)UI结构源码研究
- Android中xml文件解析 SAX方式 与 PULL方式
- Android(安卓)Bundle类
- 解析Android消息处理机制:Handler/Thread/Looper & MessageQueue
- Android(安卓)support和Androidx库不能共存问题