Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> 用安卓自帶的原生方法解析從webservice獲取的json數據

用安卓自帶的原生方法解析從webservice獲取的json數據

編輯:關於Android編程


研究了oschina,獲取的信息都是用xml的,感覺沒json那麼好,解析太復雜循環啥的,還有xml相對於json來說太多了,麻煩。

之前試過用geon還有fastjson但是老是報錯。還是用原生自帶的json方法。這裡我來接受一組json數據

譬如我們想要獲取一堆人員信息,

[
  {"username":"馬暈","company":"albaba"},
  {"username":"劉強西","company":"jingdong"},
  {"username":"馬花疼","company":"qq"},
  {"username":"李艷紅","company":"baidu"}
]

上面這些是一組人員的信息 有兩個字段 名字和所在公司

這裡我們根據我們獲得的數據進行映射:生成一個人員類實體

public class User implements Serializable {

	
	private String username;
	private String company;
	public String getUsername() {
		return username;
	}
	public void setUsername(String username) {
		this.username = username;
	}
	public String getCompany() {
		return company;
	}
	public void setCompany(String company) {
		this.company = company;
	}
	
	
}

到這裡 我們怎麼把上面的json組數據轉換成 一個人員組呢,我們這裡可以用到List 來把獲得的json數據

那我們在做一個UserList的實體類 用來轉換json數據為了對象組

public class UserList implements Serializable {
	
	private List userList= new ArrayList();
	//信息組的人員的總人數
	private int usersCount;
	
	public int getUsersCount() {
		return  usersCount;
	}	
	
	public List getUserList() {
		return userList;
	}

    //解析json並轉化成對象組
	public static UserList parse(JSONArray obj) throws JSONException {
			
		UserList list = new UserList();	
		if(null != obj){
			//獲取對象組長度作為總人數
			list.usersCount = obj.length();
			for(int i=0;i
上面的解析參數是一個json對象組,到這裡就可以很簡單了,

String usersString = "[
  {"username":"馬暈","company":"albaba"},
  {"username":"劉強西","company":"jingdong"},
  {"username":"馬花疼","company":"qq"},
  {"username":"李艷紅","company":"baidu"}
]";

假如我們獲得的json數據是一個字符串,一般都是字符串,然後我們用java自帶的方法進行轉換成JSONArray

	/**
	 * 字符串轉JSON
	 * 
	 * @param json
	 * @return
	 * @throws JSONException
	 */
	public static JSONArray toJSONArray(String json) throws JSONException {
		return new JSONArray(json);
	}

我們還為此寫了一個把string轉換成JSONArray的方法。

寫到這裡 就不寫了 是不是很簡單 希望給大家一個 拋磚引玉.



  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved