歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux編程 >> Linux編程

Android之Json數據解析

首先是介紹:

一、什麼是json數據

1、json:javascript object Notation的簡稱
2、json數據是一系列鍵值對的集合;
3、json已經被大多數開發人員,在網絡數據的傳輸當中應用非常廣泛;
4、json相對於xml來講解析稍微方便一些
5、它的基本數據格式是:

{
"name":"Michael",
"andress":
{
"city":"Beijing",
"Street":"Chaoyang Road",
"prostcode":100024
}
}

Android之Json數據解析源碼下載地址

免費下載地址在 http://linux.linuxidc.com/

用戶名與密碼都是www.linuxidc.com

具體下載目錄在 /2012年資料/2月/29日/Android之Json數據解析/

二、json數據跟xml的比較

1、json和xml的數據可讀性基本相同;
2、json和xml同樣擁有豐富的解析手段;
3、json相對於xml來講,數據體積小;
4、json與javascrpit的交互更加方便;
5、json對數據的描述性相對較差;

三、android中的3種解析方式的代碼如下:

首先要把jar包拷到項目中:

   http://code.google.com/p/google-gson/ 

第一種方式解析:private String jsonData1="[{\"name\":\"renhaili\",\"age\":20},{\"name\":\"zhouxiaodong\",\"age\":21}]";這種數據的解析方式:

  1. public void parseJson(String jsonData) {  
  2.         // 如果需要從解析json數據,首先要生成一個jsonReader對象   
  3.         JsonReader reader = new JsonReader(new StringReader(jsonData));  
  4.         try {  
  5.             // 現在開始解析   
  6.             reader.beginArray();// 開始解析數組   
  7.             while (reader.hasNext()) {  
  8.                 reader.beginObject();// 開始解析對象   
  9.                 while (reader.hasNext()) {  
  10.                     String tagName = reader.nextName();  
  11.                     if (tagName.equals("name")) {  
  12.                         System.out.println(reader.nextString());  
  13.                     } else if (tagName.equals("age")) {  
  14.                         System.out.println(reader.nextInt());  
  15.                     }  
  16.                 }  
  17.                 reader.endObject();// 結束對象解析   
  18.             }  
  19.             reader.endArray();// 結束數組解析   
  20.         } catch (IOException e) {  
  21.             e.printStackTrace();  
  22.         }  
  23.     }  
Copyright © Linux教程網 All Rights Reserved