최근 프로젝트 개발 과정에서 프론트엔드 js 객체를 백그라운드에서 java 객체로 변환하는 문제에 여러 번 직면했습니다. 나중에 사용할 수 있도록 방법을 기록해 두십시오.
간단히 말하면 프론트엔드에서 JSON.stringify() 메소드를 사용하여 js 객체를 js 문자열로 변환하고, 백그라운드에서 json 문자열을 받아 javaBean으로 변환하는 것입니다.
프론트엔드 코드:
var 데이터 = {};
data.id = $('#id').val();
data.msg = $('#msg').val(); //데이터 제출
$.post(contextPath '/XXX.do?' new Date().getTime(),{data: JSON.stringify(data)},function(result){
alert(result );
});
백엔드 코드:
@RequestMapping("/XXX")
public void save(HttpservletResponse 응답, 문자열 데이터){
if(!StringUtils.isEmpty(data)){
//json 문자열을 javaBean으로 변환
Msg msg = (Msg) JSONObject.toBean(JSONObject.fromObject(data),Msg.class)
......
}
}