记录实现前端传字符串,后端JSON序列化后转成实体类走过的坑
前端直接传多个实体参数到后端记录一下下以便后期需要
1 前端传参构建
mainTableData = {
"id": "123",
“code" : "name"
};
secTableData = {
"id": "321",
“code" : "name"
};
thirdTableData = {
"id": "321",
“code" : "name"
};
var data = {
"first":mainTableData,
"sec":secTableData,
"third":thirdTableData
}
搭建好参数用ajax或者其他方式传参到后端 后端如下:
public String paymentApply(String datatables) throws JsonProcessingException {
ObjectMapper objectMapper = new ObjectMapper();//映射工具
JsonNode create = objectMapper.readTree(datatables).get("first");
/*JSON转到DTO*/
JSONObject object = JSONObject.parseObject(create .toString());
Entity entity = JSON.toJavaObject(object,Entity.class);
return createBizPayReqInParam;
}
记得在实体类加以下这句话 作用写在注释后面了。
@JsonIgnoreProperties(ignoreUnknown = true) //如果前端传来的字段DTO没有,可以用它忽略哦,就不报错了
直接用ObjectMapper的readValue 或者 convertValue方法好像不能直接解析字符串,我这里显示转换的实体类属性全为空 先把String转换成JSON后就没问题。如果有哪位大佬知道的话可以解释解释 哈哈 做个笔记 以后用到可以再看。如果有写到不对的地方可以指出来 以免我误导他人 毕竟就是个菜鸟小白