Android解析JSON數(shù)據(jù)的方法分析
本文實例講述了Android解析JSON數(shù)據(jù)的方法。分享給大家供大家參考,具體如下:
JSON作為一種“輕量”的數(shù)據(jù)結(jié)構(gòu)傳遞數(shù)據(jù),在JS中有廣泛的應用
Google公司對JSON的解析提供了gson.jar這個包,它不依賴于其他任何JAR包;自從Android3.0中已經(jīng)合入了該解析器的功能,但之前的版本是沒有的。
findViewById(R.id.parseBtn).setOnClickListener(new OnClickListener(){ @Override public void onClick(View v) { jsonData = "[{\"name\":\"Michael\",\"age\":20},{\"name\":\"Mike\",\"age\":21}]"; MainActivity.parseJson(jsonData); } }); public static void parseJson(String jsonStr){ //如果要解析JSON數(shù)據(jù),首先要有一個JsonReader對象 JsonReader jsonReader = new JsonReader(new StringReader(jsonStr)); try { //開始遍歷數(shù)組(多個JSON對象) jsonReader.beginArray(); while(jsonReader.hasNext()){ //開始遍歷JSON對象(含有多個屬性) jsonReader.beginObject(); while(jsonReader.hasNext()){ String tagName = jsonReader.nextName(); if(tagName.equals("name")){ System.out.println("name --> " + jsonReader.nextString()); }else if(tagName.equals("age")){ System.out.println("age --> " + jsonReader.nextString()); } } //遍歷JSON對象結(jié)束 jsonReader.endObject(); } //遍歷數(shù)組結(jié)束 jsonReader.endArray(); } catch (IOException e) { e.printStackTrace(); } }
將JSON格式轉(zhuǎn)換為類的步驟如下:
//先定義一個類 public class User { public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } } //只將一組數(shù)據(jù)轉(zhuǎn)換的方法 findViewById(R.id.parseObj).setOnClickListener(new OnClickListener(){ @Override public void onClick(View v) { String jsonData = "{\"name\":\"Michael\",\"age\":20}"; Gson gson = new Gson(); User user = gson.fromJson(jsonData, User.class); System.out.println("name--->" + user.getName()); System.out.println("age---->" + user.getAge()); } }); //將多組數(shù)據(jù)轉(zhuǎn)換的方法 findViewById(R.id.parseObjs).setOnClickListener(new OnClickListener(){ @Override public void onClick(View v) { String jsonData = "[{\"name\":\"Michael\",\"age\":20},{\"name\":\"Mike\",\"age\":21}]"; Type listType = new TypeToken<LinkedList<User>>(){}.getType(); Gson gson = new Gson(); LinkedList<User> users = gson.fromJson(jsonData, listType); for (Iterator iterator = users.iterator(); iterator.hasNext();) { User user = (User) iterator.next(); System.out.println("name--->" + user.getName()); System.out.println("age---->" + user.getAge()); } } });
更多關于Android相關內(nèi)容感興趣的讀者可查看本站專題:《Android文件操作技巧匯總》、《Android編程開發(fā)之SD卡操作方法匯總》、《Android開發(fā)入門與進階教程》、《Android資源操作技巧匯總》、《Android視圖View技巧總結(jié)》及《Android控件用法總結(jié)》
希望本文所述對大家Android程序設計有所幫助。
- Android編程簡單解析JSON格式數(shù)據(jù)的方法示例
- Android使用OKHTTP解析JSON數(shù)據(jù)的實例代碼
- android JSON解析數(shù)據(jù) android解析天氣預報
- Android 中對JSON數(shù)據(jù)解析實例代碼
- Android解析json數(shù)據(jù)示例代碼(三種方式)
- Android編程實現(xiàn)根據(jù)經(jīng)緯度查詢地址并對獲取的json數(shù)據(jù)進行解析的方法
- Android之解析JSON數(shù)據(jù)示例(android原生態(tài),F(xiàn)astJson,Gson)
- Android json數(shù)據(jù)解析詳解及實例代碼
- Android系列---JSON數(shù)據(jù)解析的實例
- Android利用Gson解析嵌套多層的Json的簡單方法
- Android M(6.x)使用OkHttp包解析和發(fā)送JSON請求的教程
- Android json解析及簡單例子
- android解析JSON數(shù)據(jù)
- Android中g(shù)son、jsonobject解析JSON的方法詳解
- Android解析json數(shù)組對象的方法及Apply和數(shù)組的三個技巧
- Android隨手筆記44之JSON數(shù)據(jù)解析
- Android學習筆記45之gson解析json
- android原生JSON解析實例
相關文章
Android SlidingDrawer 抽屜效果的實現(xiàn)
本篇文章小編為大家介紹,Android SlidingDrawer 抽屜效果的實現(xiàn)。需要的朋友參考下2013-04-04Android開發(fā)實現(xiàn)仿京東商品搜索選項卡彈窗功能
這篇文章主要介紹了Android開發(fā)實現(xiàn)仿京東商品搜索選項卡彈窗功能,涉及Android布局及事件響應相關操作技巧,需要的朋友可以參考下2017-11-11Android自定義view之利用drawArc方法實現(xiàn)動態(tài)效果(思路詳解)
這篇文章主要介紹了Android自定義view之利用drawArc方法實現(xiàn)動態(tài)效果,drawArc方法包含了五個參數(shù),具體細節(jié)在本文中給大家提到過,需要的朋友可以參考下2021-08-08Android發(fā)送xml數(shù)據(jù)給服務器的方法
這篇文章主要介紹了Android發(fā)送xml數(shù)據(jù)給服務器的方法,以實例形式較為詳細的分析了Android發(fā)送XML數(shù)據(jù)及接收XML數(shù)據(jù)的相關技巧,具有一定參考借鑒價值,需要的朋友可以參考下2015-09-09