a亚洲精品_精品国产91乱码一区二区三区_亚洲精品在线免费观看视频_欧美日韩亚洲国产综合_久久久久久久久久久成人_在线区

首頁(yè) > 系統(tǒng) > Android > 正文

Android 解析JSON對(duì)象及實(shí)例說(shuō)明

2020-04-11 12:29:02
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

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

首先新建一個(gè)類(lèi)工具類(lèi)JsonUtil,用于獲取請(qǐng)求返回的數(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í)表示請(qǐng)求數(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ù):
注:模擬器訪(fǎng)問(wèn)自己電腦上的網(wǎng)站不能用localhost:8080或者127.0.0.1:8080,因?yàn)槟M器默認(rèn)將模擬器本身設(shè)定為localhost,所以如果設(shè)置為這樣的方式就將訪(fǎng)問(wèn)模擬器本身。我們需要將主機(jī)名修改為10.0.2.2,此主機(jī)名是模擬器設(shè)定的特定的訪(fǎng)問(wèn)自己電腦的主機(jī)名,它記錄了你的電腦的名稱(chēng)。
另外:獲取數(shù)據(jù)需要將下面的方法封裝到一個(gè)新線(xiàn)程中,不能放在程序主線(xiàn)程當(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";
   // 獲取后臺(tái)返回的JSON對(duì)象 --> { 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");
   // 獲取班級(jí) --> class:'09GIS班'
   String classname = jObj.getString("class");
   // 根據(jù)索引獲取第一個(gè)學(xué)生的JSON對(duì)象 --> {name:'Livingstone',age:25}
   JSONObject j1 = jArr.getJSONObject(0);

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


發(fā)表評(píng)論 共有條評(píng)論
用戶(hù)名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 在线无码| 天天综合天天色 | 色噜噜视频| 日韩视频精品 | 国产成人久久 | 成人欧美一区二区三区在线观看 | 久久久tv | 亚洲日韩中文字幕一区 | 亚洲视频一区二区在线 | 九九在线视频 | 综合二区 | 欧美国产精品一区二区 | www精品美女久久久tv | 日韩在线观看不卡 | 中文字幕久久久 | 中文字幕日韩高清 | 日韩高清中文字幕 | 日本激情网 | 国产精品99久久免费观看 | 欧美激情综合五月色丁香小说 | 美女福利视频 | 涩涩视频观看 | 欧洲精品乱码久久久久蜜桃 | 国产精品18 | 免费观看av| 久草久草久草 | 黄桃av | 日韩1区3区4区第一页 | 亚洲日韩欧美一区二区在线 | 免费在线看a | 国产成人一区二区三区 | 久久久久久艹 | 精品国产髙清在线看国产毛片 | 国产精品国产自产拍高清 | 日韩不卡| 免费黄色网址在线播放 | 巨大黑人极品videos精品 | 日韩国产中文字幕 | 黄91视频| 成人免费一区二区三区视频网站 | 久在线视频 |