最近做一項目,有很多地方得用到網絡數據傳輸與解析,這裡采用的是Json方式,它與傳統的XML解析方式比起來,有自己的一些優點,首先,它是比XML更輕量級,再一個,寫一個XML文件是個煩人的事兒,而Json則相對輕松些。
更多Android相關信息見Android 專題頁面 http://www.linuxidc.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:
- public class HttpUtils { //從服務器端下載到Json數據,也就是個字符串
-
- public static String getData(String url) throws Exception {
-
- StringBuilder sb = new StringBuilder();
-
- HttpClient httpClient = new DefaultHttpClient();
-
- HttpGet httpGet = new HttpGet(url);
-
- HttpResponse httpResponse = httpClient.execute(httpGet);
-
- HttpEntity httpEntity = httpResponse.getEntity();
-
- if (httpEntity != null) {
-
- InputStream instream = httpEntity.getContent();
-
- BufferedReader reader = new BufferedReader(new InputStreamReader(
-
- instream));
-
- String line = null;
-
- while ((line = reader.readLine()) != null) {
-
- sb.append(line);
-
- }
-
- return sb.toString();
-
- }
-
- return null;
-
- }