java中的JSON使用
1、json的官网:http://www.json.org/
2、使用java的jar包:http://json-lib.sourceforge.net/
这个包依赖的东西比较多,官网介绍如下:
?
Json-lib requires (at least) the following dependencies in your classpath:
3、从业务逻辑层获取数据形成json格式的字符串
?
?
?
4、在jsp页面中,解析json字符串
a)上面封装的json数据格式:{"265":{projectId:"0",subProjectId:"126",stageNameId:"1",psName:"2",planFromDate:"",planToDate:"",stageLogId:"100"},"270":{projectId:"0",subProjectId:"126",stageNameId:"1",psName:"",planFromDate:"",planToDate:"",stageLogId:"100"},"268":{projectId:"0",subProjectId:"126",stageNameId:"1",psName:"",planFromDate:"",planToDate:"",stageLogId:"100"}}
??b)js中使用
?5、jsp页面通过**.action?jsonParam="这里是json格式的数据"传入到逻辑层处理
?
/** * 解析json数据 * @param str//格式:{"265":{projectId:"0",subProjectId:"126",stageNameId:"1",psName:"2",planFromDate:"",planToDate:"",stageLogId:"100"},"270":{projectId:"0",subProjectId:"126",stageNameId:"1",psName:"",planFromDate:"",planToDate:"",stageLogId:"100"},"268":{projectId:"0",subProjectId:"126",stageNameId:"1",psName:"",planFromDate:"",planToDate:"",stageLogId:"100"}} * @return * 2012-5-2 下午10:14:24 */private List<Stage> parseStageJson(String str) {List<Stage> stageList = new ArrayList<Stage>();if(StringUtils.isEmpty(str)) return stageList;JSONObject array = JSONObject.fromObject(str);Iterator<String> keys = array.keys();while(keys.hasNext()) {String key = keys.next();System.out.println(key);JSONObject value = array.getJSONObject(key);Stage stage = new Stage();try {stage.setStageId(Integer.valueOf(key));} catch (Exception e) {Log.log(0, "新增");}Project project = new Project();project.setProjectId(value.getInt("projectId"));stage.setProject(project);SubProject subProject = new SubProject();subProject.setSubProjectId(value.getInt("subProjectId"));stage.setSubProject(subProject);StageName stageName = new StageName();stageName.setStageNameId(value.getInt("stageNameId"));stage.setStageName(stageName);stage.setPsName(value.getString("psName"));String planFromDate = value.getString("planFromDate");if(StringUtils.isNotEmpty(planFromDate)) {stage.setPlanFromDate(DateUtil.strToDate(planFromDate, "yyyy-MM-dd"));}String planToDate = value.getString("planToDate");if(StringUtils.isNotEmpty(planToDate)) {stage.setPlanToDate(DateUtil.strToDate(planToDate, "yyyy-MM-dd"));}String stageLogId = value.getString("stageLogId");StageLog stageLog = new StageLog();if(StringUtils.isNotEmpty(stageLogId)) {/stageLog.setStageLogId(Integer.valueOf(stageLogId));stage.setStageLog(stageLog);} else {this.setNewStage("1");}/*String departmentIds = value.getString("departmentIds");stage.setDepartmentIds(departmentIds);*/stageList.add(stage);}return stageList;}??
?
?
?
?