成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

Android中對JSON數(shù)據(jù)解析實例代碼

Android 中對JSON數(shù)據(jù)解析

創(chuàng)新互聯(lián)專業(yè)為企業(yè)提供古冶網站建設、古冶做網站、古冶網站設計、古冶網站制作等企業(yè)網站建設、網頁設計與制作、古冶企業(yè)網站模板建站服務,10余年古冶做網站經驗,不只是建網站,更提供有價值的思路和整體網絡服務。

 在Android的網絡編程中,JSON是比XML使用更為廣泛的數(shù)據(jù)傳輸機制。在許多的http網絡請求或接口調用中,返回的很多都是JSON。所以學會解析JSON是學會Android的基本技能。

        簡單介紹下JSON,JSON是輕量級的文本數(shù)據(jù)交換格式,獨立于語言和平臺。比XML更小,更快,更易解析。JSON是用鍵值對來保存數(shù)據(jù)的。JSON保存的值可以是數(shù)字、字符串、布爾值、數(shù)組和對象。

        廢話少說,直接上代碼。下面對以下JOSN進行解析:

{ 
   
"language":[ 
     
       { 
      "id":1, 
      "name":"Java", 
      "ide":"Eclipse" 
    }, 
     
       { 
      "id":2, 
      "name":"C++", 
      "ide":"Visual Studio" 
    }  
       
  ] 
 
} 

在該實驗中,是把該JSON保存為language.json文件并放置在assets文件夾下。在實際的項目開發(fā)中,JSON一般是http請求后由服務器返回的。具體實現(xiàn)代碼如下:

try { 
  InputStreamReader inputStreamReader = new InputStreamReader(getAssets().open("languages.json"), "UTF-8");//使用utf-8的編碼方式讀取json;并新建該輸入流; 
  BufferedReader bufferedReader = new BufferedReader(inputStreamReader);//使用BufferReader讀取輸入流中的數(shù)據(jù); 
  String line; 
  StringBuilder stringBuilder = new StringBuilder();//所有讀取的json放到StringBuilder中,這里也可以使用StringBuffer,效果一樣; 
  while ((line = bufferedReader.readLine()) != null) { 
    stringBuilder.append(line); 
  } 
  bufferedReader.close();//按相反的順序關閉流; 
  inputStreamReader.close(); 
 
  //以下開始進行json解析; 
  JSONObject language = new JSONObject(stringBuilder.toString());//每一個{}花括號的內容就是一個JSON對象; 
  JSONArray array = language.getJSONArray("language");//獲取language這個對象里面的JSON數(shù)組,因為每一個[]中括號的內容就是一個JSON數(shù)組,數(shù)組內可能包含多個JSON對象; 
  for (int i = 0; i < array.length(); i++) {//循環(huán)遍歷該數(shù)組; 
    JSONObject item = array.getJSONObject(i);//建立數(shù)組中的對象; 
    text.append(item.getInt("id") + " " + item.getString("name") + " " + item.getString("ide"));//根據(jù)鍵值對獲取屬性值; 
    text.append("\n"); 
  } 
} catch (IOException e) { 
  e.printStackTrace(); 
} catch (JSONException e) { 
  e.printStackTrace(); 
} 

程序運行后,截圖如下:

Android 中對JSON數(shù)據(jù)解析實例代碼

      至此,已經成功完成對JSON字符串的解析。個人對XML解析和JSON解析的理解就像是剝洋蔥,是一層一層往里面進行解析,只要搞清楚邏輯關系,就不會有問題。JSON有時候會碰到3層,4層的循環(huán)嵌套,會比較麻煩,只要按照步驟進行,就不會出錯。

感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

文章標題:Android中對JSON數(shù)據(jù)解析實例代碼
分享URL:http://jinyejixie.com/article36/ipejsg.html

成都網站建設公司_創(chuàng)新互聯(lián),為您提供搜索引擎優(yōu)化、虛擬主機、品牌網站設計網站制作、用戶體驗、品牌網站制作

廣告

聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

成都網站建設
枣强县| 莲花县| 罗山县| 鹰潭市| 延长县| 运城市| 澳门| 马尔康县| 正阳县| 康乐县| 麻城市| 安溪县| 苏尼特右旗| 连城县| 冀州市| 灵台县| 光泽县| 崇州市| 闸北区| 镇江市| 民乐县| 巴里| 莲花县| 仲巴县| 哈尔滨市| 崇信县| 汉沽区| 苏州市| 水富县| 察雅县| 平乡县| 张家川| 堆龙德庆县| 莱芜市| 霞浦县| 昌黎县| 民丰县| 南漳县| 霍山县| 桃园市| 阆中市|