Android編程簡單解析JSON格式數(shù)據(jù)的方法示例
本文實例講述了Android編程簡單解析JSON格式數(shù)據(jù)的方法。分享給大家供大家參考,具體如下:
比起XML,JSON主要優(yōu)勢在于它的體積更小,在網(wǎng)絡(luò)上傳輸?shù)臅r候可以更省流量。但缺點在于,它的語義性較差,顯示不如XML直觀。
JSON格式 :
{ "name_A" : "value_A","name_B" : "value_B" }
表示:
name_A = value_A; name_B = value_B;
我將對下面的JSON數(shù)據(jù)進(jìn)行解析:
[{"id":"5","version":"5.5","name":"憤怒的小鳥"}, {"id":"6","version":"7.0","name":"神廟逃亡"}, {"id":"7","version":"3.5","name":"保衛(wèi)蘿卜"}]
代碼如下:
private void parseJSONWithJSONObject(String jsonData) { try { JSONArray jsonArray = new JSONArray(jsonData); for (int i = 0; i < jsonArray.length(); i++) { JSONObject jsonObject = jsonArray.getJSONObject(i); String id = jsonObject.getString("id"); String name = jsonObject.getString("name"); String version = jsonObject.getString("version"); Log.d("woider", "id is " + id); Log.d("woider", "name is " + name); Log.d("woider", "version is " + version); } } catch (Exception e) { e.printStackTrace(); } }
首先獲取JSON元素數(shù)組:
JSONArray jsonArray = new JSONArray(jsonData);
其次循環(huán)獲取每個元素:
JSONObject jsonObject = jsonArray.getJSONObject(index);
每次循環(huán)保存名稱相對應(yīng)的值:
String name = jsonObject.getString("name");
======================使用GSON========================
GSON是谷歌提供的一個API,它主要就是可以將一段JSON格式的字符串自動映射成一個對象,從而不需要手動編碼進(jìn)行解析。
但是GSON并沒有被添加到Android官方的API中,因此如果需要使用這個功能的話,則必須在項目中添加一個GSON的Jar包。
首先要建立一個類容納JSON中的數(shù)據(jù),然后實例化 Gson 對象,并通過 fromJson() 方法獲取JSON對象集合。
private void parseJSONWithGSON(String jsonData) { Gson gson = new Gson(); List<App> appList = gson.fromJson(jsonData, new TypeToken<List<App>>() { }.getType()); for (App app : appList) { Log.d("woider", "id is " + app.getId()); Log.d("woider", "name is " + app.getName()); Log.d("woider", "version is " + app.getVersion()); } }
最后,補上運行截圖:
PS:這里再為大家推薦幾款比較實用的json在線工具供大家參考使用:
在線JSON代碼檢驗、檢驗、美化、格式化工具:
http://tools.jb51.net/code/json
JSON在線格式化工具:
http://tools.jb51.net/code/jsonformat
在線XML/JSON互相轉(zhuǎn)換工具:
http://tools.jb51.net/code/xmljson
json代碼在線格式化/美化/壓縮/編輯/轉(zhuǎn)換工具:
http://tools.jb51.net/code/jsoncodeformat
C語言風(fēng)格/HTML/CSS/json代碼格式化美化工具:
http://tools.jb51.net/code/ccode_html_css_json
更多關(guān)于Android相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Android操作json格式數(shù)據(jù)技巧總結(jié)》、《Android數(shù)據(jù)庫操作技巧總結(jié)》、《Android編程之a(chǎn)ctivity操作技巧總結(jié)》、《Android文件操作技巧匯總》、《Android開發(fā)入門與進(jìn)階教程》、《Android資源操作技巧匯總》、《Android視圖View技巧總結(jié)》及《Android控件用法總結(jié)》
希望本文所述對大家Android程序設(shè)計有所幫助。
- Android使用OKHTTP解析JSON數(shù)據(jù)的實例代碼
- android JSON解析數(shù)據(jù) android解析天氣預(yù)報
- Android 中對JSON數(shù)據(jù)解析實例代碼
- Android解析json數(shù)據(jù)示例代碼(三種方式)
- Android編程實現(xiàn)根據(jù)經(jīng)緯度查詢地址并對獲取的json數(shù)據(jù)進(jìn)行解析的方法
- 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數(shù)據(jù)的方法分析
- Android json解析及簡單例子
- android解析JSON數(shù)據(jù)
- Android中g(shù)son、jsonobject解析JSON的方法詳解
- Android解析json數(shù)組對象的方法及Apply和數(shù)組的三個技巧
- Android隨手筆記44之JSON數(shù)據(jù)解析
- Android學(xué)習(xí)筆記45之gson解析json
- android原生JSON解析實例
相關(guān)文章
Android學(xué)習(xí)筆記之ActionBar Item用法分析
這篇文章主要介紹了Android學(xué)習(xí)筆記之ActionBar Item用法,結(jié)合實例形式分析了ActionBar Item的具體功能與相關(guān)使用技巧,需要的朋友可以參考下2017-05-05Android BSearchEdit 搜索結(jié)果選擇框的實例代碼
EditText搜索結(jié)果下拉框、自動or回調(diào)模式、可diy、使用超簡便。這篇文章主要介紹了Android BSearchEdit 搜索結(jié)果選擇框的實例代碼,需要的朋友可以參考下2019-10-10Eclipse開發(fā)環(huán)境導(dǎo)入android sdk的sample中的源碼
初學(xué)Android編程,Android SDK中提供的Sample代碼自然是最好的學(xué)習(xí)材料,需要的朋友可以參考下2012-12-12Android編程應(yīng)用風(fēng)格和主題詳解
這篇文章主要介紹了Android編程應(yīng)用風(fēng)格和主題,較為詳細(xì)的分析了Android應(yīng)用風(fēng)格和主題的概念、功能、使用方法與注意事項,需要的朋友可以參考下2016-10-10android預(yù)置默認(rèn)的語音信箱號碼具體實現(xiàn)
在此介紹以xml的方式預(yù)置VM number的方法,以及如何允許用戶去修改并能夠記住用戶的選擇2013-06-06