獲取json指定欄位的方法
阿新 • • 發佈:2018-11-09
**分析:**在專案開發過程中對於複雜的資料表結構或者是儲存過程,我們往往不需要所有的屬性列,從伺服器傳遞過來的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])
五、完成功能