首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > JavaScript >

java中的JSON运用

2012-08-27 
java中的JSON使用1、json的官网:http://www.json.org/2、使用java的jar包:http://json-lib.sourceforge.net/

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:

    jakarta commons-lang 2.5jakarta commons-beanutils 1.8.0jakarta commons-collections 3.2.1jakarta commons-logging 1.1.1ezmorph 1.0.6

    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;}
    ?

    ?

    ?

    ?

    ?

    ?

热点排行