Android利用Json来进行网络数据传输


最近做一项目,有很多地方得用到网络数据传输与解析,这里采用的是Json方式,它与传统的XML解析方式比起来,有自己的一些优点,首先,它是比XML更轻量级,再一个,写一个XML文件是个烦人的事儿,而Json则相对轻松些。

更多Android相关信息见Android 专题页面 http://www.bkjia.com/topicnews.aspx?tid=11

Android平台有Jsong相关的类来进行Json数据解析,悲剧的是,它们是Android SDK3.0以后才能用的。不过在谷歌网站:http://code.google.com/p/google-gson/里有一个名为Gson的类库,可以用它来解析Json数据,并且,Adroid 3.0平台里其实也就是把这一部分直接整合进Android里了。我们要解析Json数据,直接去网站上下载个jar包,导入到工程里,就可以解析Json数据了。

下面有个例子,很清晰的解释了这种工作方式:

先看看两个我自己封装的类:

HttpUtils.java:

  1. public class HttpUtils {   //从服务器端下载到Json数据,也就是个字符串   
  2.   
  3.     public static String getData(String url) throws Exception {   
  4.   
  5.         StringBuilder sb = new StringBuilder();   
  6.   
  7.         HttpClient httpClient = new DefaultHttpClient();   
  8.   
  9.         HttpGet httpGet = new HttpGet(url);   
  10.   
  11.         HttpResponse httpResponse = httpClient.execute(httpGet);   
  12.   
  13.         HttpEntity httpEntity = httpResponse.getEntity();   
  14.   
  15.         if (httpEntity != null) {   
  16.   
  17.             InputStream instream = httpEntity.getContent();   
  18.   
  19.             BufferedReader reader = new BufferedReader(new InputStreamReader(   
  20.   
  21.                     instream));   
  22.   
  23.             String line = null;   
  24.   
  25.             while ((line = reader.readLine()) != null) {   
  26.   
  27.                 sb.append(line);   
  28.   
  29.             }   
  30.   
  31.             return sb.toString();   
  32.   
  33.         }   
  34.   
  35.         return null;   
  36.   
  37.     }  
  • 1
  • 2
  • 3
  • 下一页

相关内容