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ù)進行解析:
[{"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格式的字符串自動映射成一個對象,從而不需要手動編碼進行解析。
但是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語言風格/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ā)入門與進階教程》、《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ù)進行解析的方法
 - 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學習筆記45之gson解析json
 - android原生JSON解析實例
 
相關(guān)文章
 Android學習筆記之ActionBar Item用法分析
這篇文章主要介紹了Android學習筆記之ActionBar Item用法,結(jié)合實例形式分析了ActionBar Item的具體功能與相關(guān)使用技巧,需要的朋友可以參考下2017-05-05
 Android BSearchEdit 搜索結(jié)果選擇框的實例代碼
EditText搜索結(jié)果下拉框、自動or回調(diào)模式、可diy、使用超簡便。這篇文章主要介紹了Android BSearchEdit 搜索結(jié)果選擇框的實例代碼,需要的朋友可以參考下2019-10-10
 Eclipse開發(fā)環(huán)境導入android sdk的sample中的源碼
初學Android編程,Android SDK中提供的Sample代碼自然是最好的學習材料,需要的朋友可以參考下2012-12-12
 android預(yù)置默認的語音信箱號碼具體實現(xiàn)
在此介紹以xml的方式預(yù)置VM number的方法,以及如何允許用戶去修改并能夠記住用戶的選擇2013-06-06

