JS之JSON字符串到后台用Java转换成List实体类

重点:JAVA之JSON字符串转换LIST实体类

​​​​​​​List<ExamListInVO> list = new ArrayList<ExamListInVO>();
list = JSONObject.parseArray(strResult, ExamListInVO.class);

下面展示实例

 

1、静态页面

<div class="form-group">
	<label class="col-sm-3 control-label">个人简历:</label>
	<div class="col-sm-8">
		<table class="table table-bordered" id="crList">
			<tr>
				<td class="active">
					<label class="control-label">起止年月</label>
				</td>
				<td class="active">
					<label class="control-label">在何处任何职(工种)</label>
				</td>
			</tr>
			<tr data-type="cr">
				<td class="active">
					<input id="startEndDate" name="startEndDate" class="form-control" type="text">
				</td>
				<td class="active">
					<input id="workContent" name="workContent" class="form-control" type="text">
				</td>
			</tr>
			<tr data-type="cr">
				<td class="active">
					<input id="startEndDate" name="startEndDate" class="form-control" type="text">
				</td>
				<td class="active">
					<input id="workContent" name="workContent" class="form-control" type="text">
				</td>
			</tr>
			<tr data-type="cr">
				<td class="active">
					<input id="startEndDate" name="startEndDate" class="form-control" type="text">
				</td>
				<td class="active">
					<input id="workContent" name="workContent" class="form-control" type="text">
				</td>
			</tr>
		</table>
	</div>
</div>

2、js封装参数并提交

//获取工作经历部分的列表数据
function getContractResumeData(){
	var contractResumeArray=[];
    var tr = $("#crList tr");
    tr.each(function(index){
        var isCrTableTr = $(this).attr("data-type");
        if(isCrTableTr !== "cr"){
            return ;
		}
        var tempCr = {};
        tempCr["startEndDate"]=$(this).find("input[name='startEndDate']").val();
        tempCr["workContent"]=$(this).find("input[name='workContent']").val();
        contractResumeArray.push(tempCr);
    });
    return contractResumeArray;
}

//提交表单
function saveSubmit() {
	var signupFormData=$('#signupForm').serialize();
	var crStr=JSON.stringify(getContractResumeData());
	$.ajax({
		cache : true,
		type : "POST",
		url : "/contract/contractInfo/update",
		data : signupFormData+"&crStr="+crStr,// 你的formid
		async : false,
		error : function(request) {
			parent.layer.alert("Connection error");
		},
		success : function(data) {
			if (data.code == 0) {
				parent.layer.msg("操作成功");
				parent.reLoad();
				var index = parent.layer.getFrameIndex(window.name); // 获取窗口索引
				parent.layer.close(index);

			} else {
				parent.layer.alert(data.msg)
			}
		}
	});
}

3、java后端接收json字符串并转为List<实体>

/**
 * 保存
 */
@ResponseBody
@PostMapping("/save")
@RequiresPermissions("contract:contractInfo:add")
public R save( ContractPartyDO contractParty,String crStr){
	String contractId=UUID.randomUUID().toString().replaceAll("-","");
	contractParty.setContractId(contractId);
	int res2=contractPartyService.save(contractParty);
	
	//保存乙方工作经历
	List<ContractResumeDO> crList = new ArrayList<ContractResumeDO>();
	crList=JSONObject.parseArray(crStr, ContractResumeDO.class);
	int count=0;
	ContractPartyDO cpb=contractPartyService.getByContractId(contractId);
	for (ContractResumeDO cr : crList) {
		//如果获取到该行工作经历为空,也要保存,留出空白行方便用户以后的编辑。
		cr.setPartyBId(cpb.getId());
		count+=contractResumeService.save(cr);
	}
	if(res1>0 && count==crList.size()){
		return R.ok();
	}
	return R.error();
}

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值