欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Android 解析JSON對象及實例說明

 更新時間:2013年04月19日 17:24:38   作者:  
本篇文章小編為大家介紹,Android 解析JSON對象及實例說明。需要的朋友參考下

JSON是一種輕量級的對象,數(shù)據(jù)體積小,方便傳輸,易于解析!

首先新建一個類工具類JsonUtil,用于獲取請求返回的數(shù)據(jù)

復(fù)制代碼 代碼如下:

public class JsonUtil {
 private static final String TAG = "JSONUTIL";
 public static JSONObject getJSON(String url) throws Exception {
  return new JSONObject(getRequest(url));
 }
 protected static String getRequest(String url) {
  return getRequest(url, new DefaultHttpClient(new BasicHttpParams()));
 }
 protected static String getRequest(String url, DefaultHttpClient client) {
  String result = null;
  int statusCode = 0;
  HttpGet httpGet = new HttpGet(url);
  try {
   HttpResponse httpResponse = client.execute(httpGet);
   statusCode = httpResponse.getStatusLine().getStatusCode();// statusCode為200時表示請求數(shù)據(jù)成功
   result = parseInputStream(httpResponse.getEntity());
  } catch (ClientProtocolException e) {
   e.printStackTrace();
  } catch (IOException e) {
   e.printStackTrace();
  } finally {
   httpGet.abort();
  }
  return result;
 }
 private static String parseInputStream(HttpEntity entity) {
  StringBuilder sb = null;
  try {
   sb = new StringBuilder("");
   InputStream inputStream = entity.getContent();
   int length = 0;
   byte[] buffer = new byte[1024];
   while ((length = inputStream.read(buffer)) > -1) {
    sb.append(new String(buffer, 0, length));
   }
   return sb.toString();
  } catch (IllegalStateException e) {
   e.printStackTrace();
  } catch (IOException e) {
   e.printStackTrace();
  }
  return sb.toString();
 }
}

獲取數(shù)據(jù)并解析數(shù)據(jù):
注:模擬器訪問自己電腦上的網(wǎng)站不能用localhost:8080或者127.0.0.1:8080,因為模擬器默認(rèn)將模擬器本身設(shè)定為localhost,所以如果設(shè)置為這樣的方式就將訪問模擬器本身。我們需要將主機名修改為10.0.2.2,此主機名是模擬器設(shè)定的特定的訪問自己電腦的主機名,它記錄了你的電腦的名稱。
另外:獲取數(shù)據(jù)需要將下面的方法封裝到一個新線程中,不能放在程序主線程當(dāng)中!
復(fù)制代碼 代碼如下:

 /* http://10.0.2.2:8080/index.jsp
  * { students:[{name:'Livingstone',age:25},{name:'LS',age:26}], class:'09GIS' }
  */
 private void Livingstone() {
  try {
   String URL = "http://10.0.2.2:8080/index.jsp";
   // 獲取后臺返回的JSON對象 --> { students:[{name:'Livingstone',age:25},{name:'LS',age:26}],class:'09GIS班' }
   JSONObject jObj = JsonUtil.getJSON(URL);
   // 獲取學(xué)生數(shù)組 --> students:[{name:'Livingstone',age:25},{name:'LS',age:26}]
   JSONArray jArr = jObj.getJSONArray("students");
   // 獲取班級 --> class:'09GIS班'
   String classname = jObj.getString("class");
   // 根據(jù)索引獲取第一個學(xué)生的JSON對象 --> {name:'Livingstone',age:25}
   JSONObject j1 = jArr.getJSONObject(0);

   String studentInfo = jArr.length() + "個學(xué)生" + j1.getString("name")
     + j1.getInt("age");
  } catch (Exception e) {
   e.printStackTrace();
  }
 }


相關(guān)文章

  • Android ViewPager中顯示圖片與播放視頻的填坑記錄

    Android ViewPager中顯示圖片與播放視頻的填坑記錄

    這篇文章主要給介紹了關(guān)于Android ViewPager中顯示圖片與播放視頻的一些填坑記錄,文中通過示例代碼介紹的非常詳細(xì),對各位Android開發(fā)者們具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。
    2018-05-05
  • android中選中菜單的顯示跳轉(zhuǎn)和隱式跳轉(zhuǎn)的實例介紹

    android中選中菜單的顯示跳轉(zhuǎn)和隱式跳轉(zhuǎn)的實例介紹

    android中選中菜單的顯示跳轉(zhuǎn)和隱式跳轉(zhuǎn)的實例介紹,需要的朋友可以參考一下
    2013-05-05
  • Kotlin中的sam(函數(shù)式接口)詳解

    Kotlin中的sam(函數(shù)式接口)詳解

    這篇文章主要介紹了Kotlin中的sam(函數(shù)式接口)詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-03-03
  • Android設(shè)置Padding和Margin(動態(tài)/靜態(tài))的方法實例

    Android設(shè)置Padding和Margin(動態(tài)/靜態(tài))的方法實例

    如何在java代碼中設(shè)置margin,也就是組件與組件之間的間距,下面這篇文章主要給大家介紹了關(guān)于Android設(shè)置Padding和Margin(動態(tài)/靜態(tài))的相關(guān)資料,文中通過實例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-11-11
  • Android 虛擬機中的內(nèi)存分配與OOM問題詳解

    Android 虛擬機中的內(nèi)存分配與OOM問題詳解

    這篇文章主要為大家介紹了Android 虛擬機中的內(nèi)存分配與OOM問題詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-09-09
  • Android 動態(tài)改變布局實例詳解

    Android 動態(tài)改變布局實例詳解

    這篇文章主要介紹了Android 動態(tài)改變布局實例詳解的相關(guān)資料,這里舉例說明如何實現(xiàn)動態(tài)改變布局的例子,幫助大家學(xué)習(xí)理解,需要的朋友可以參考下
    2016-11-11
  • Android實現(xiàn)局部模糊效果

    Android實現(xiàn)局部模糊效果

    這篇文章主要為大家詳細(xì)介紹了Android實現(xiàn)局部模糊效果,幫助大家實現(xiàn)模糊或者毛玻璃效果,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-07-07
  • Android開發(fā)實現(xiàn)消除屏幕鎖的方法

    Android開發(fā)實現(xiàn)消除屏幕鎖的方法

    這篇文章主要介紹了Android開發(fā)實現(xiàn)消除屏幕鎖的方法,結(jié)合實例形式較為詳細(xì)的分析了Android鎖屏的原理及消除屏幕鎖的相關(guān)操作技巧,需要的朋友可以參考下
    2017-09-09
  • Android AIDL實現(xiàn)兩個APP間的跨進程通信實例

    Android AIDL實現(xiàn)兩個APP間的跨進程通信實例

    這篇文章主要為大家詳細(xì)介紹了Android AIDL實現(xiàn)兩個APP間的跨進程通信實例,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-04-04
  • 協(xié)程作用域概念迭代RxTask?實現(xiàn)自主控制

    協(xié)程作用域概念迭代RxTask?實現(xiàn)自主控制

    這篇文章主要為大家介紹了協(xié)程作用域概念迭代RxTask實現(xiàn)自主控制詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-10-10

最新評論