**分析:**在项目开发过程中对于复杂的数据表结构或者是存储过程,我们往往不需要所有的属性列,从服务器传递过来的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])
五、完成功能