国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Android > 正文

Android 中對JSON數據解析實例代碼

2019-12-12 03:14:17
字體:
來源:轉載
供稿:網友

Android 中對JSON數據解析

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

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

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

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

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

try {   InputStreamReader inputStreamReader = new InputStreamReader(getAssets().open("languages.json"), "UTF-8");//使用utf-8的編碼方式讀取json;并新建該輸入流;   BufferedReader bufferedReader = new BufferedReader(inputStreamReader);//使用BufferReader讀取輸入流中的數據;   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數組,因為每一個[]中括號的內容就是一個JSON數組,數組內可能包含多個JSON對象;   for (int i = 0; i < array.length(); i++) {//循環(huán)遍歷該數組;     JSONObject item = array.getJSONObject(i);//建立數組中的對象;     text.append(item.getInt("id") + " " + item.getString("name") + " " + item.getString("ide"));//根據鍵值對獲取屬性值;     text.append("/n");   } } catch (IOException e) {   e.printStackTrace(); } catch (JSONException e) {   e.printStackTrace(); } 

程序運行后,截圖如下:

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

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

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 宜黄县| 昭苏县| 靖州| 铜川市| 清河县| 甘孜县| 公安县| 柳州市| 黎平县| 泽库县| 永和县| 云林县| 军事| 台安县| 揭东县| 镇江市| 安康市| 南康市| 临西县| 云霄县| 邯郸市| 宁明县| 日土县| 太谷县| 长宁区| 泗洪县| 蛟河市| 长春市| 萨迦县| 芦山县| 开封县| 阜新市| 白河县| 南安市| 农安县| 龙门县| 泊头市| 禹州市| 贵港市| 巧家县| 黄大仙区|