1. 程式人生 > >獲取json指定欄位的方法

獲取json指定欄位的方法

**分析:**在專案開發過程中對於複雜的資料表結構或者是儲存過程,我們往往不需要所有的屬性列,從伺服器傳遞過來的json序列擷取相應的屬性列即可,但是如果用常規的方法,使用pojo類去接收則pojo類中的屬性列與傳遞的json序列的引數個數不能對應。經過本人的研究與思考,找到一種方法,並正常實現了專案功能,供大家思考。
一、從伺服器獲取的String轉為json格式

/**
	 * string資料轉為json的方法
	 * @param url1 獲取json資料的URL地址
	 * 
	 */
	public static  JSONObject stringtoJson(String url1) {
		
		String httpResult = singleton.getHttpResult(url1);
		httpResult = "{ \"data\":" + httpResult +"}";
		JSONObject  myJson = JSONObject.fromObject(httpResult);
		return myJson;
		
	}

二、獲取傳遞的json物件

//jsondata是通過上述方法返回的json物件
 JSONArray jsonArray = jsondata.getJSONArray("data"); 

三、獲取json物件的一條記錄

//i 代表第i條記錄
 JSONObject json = (JSONObject) jsonArray.opt(i);

四、取出每一條記錄的對應的屬性列

//selectp[k]是儲存json屬性名的字串陣列,注意一定與json原資料屬性相同,否則報錯
json.getString(selectp[k])

五、完成功能