JSON.stringify(obj)
객채 내, String, 배열, 객체 등 모든 값을 String 문자열로 바꾸어줌
var obj1 = { name: 'kim', age: 27 };
var obj2 = { name: 'lee', age: 27 };
JSON.stringify(obj1) // '{"name":"kim","age":27}'
JSON.stringify(obj2) // '{"name":"lee","age":27}'
객체 단위로 비교할 때 유용!
if(JSON.stringify(obj1) === JSON.stringify(obj2)){
...
}
ajax 로 Rest API(POST
, PUT
, DELETE
) 호출 시 @RequestBody
DTO(Body)에 데이터를 담을 때, JSON.stringify
를 사용하는 것을 추천...
JSON.stringify
를 클라이언트에서 처리하지 않았을 때,
서버 단에서 CORS 처리를 하였더라도 파라미터가 Body에 담겨지지 않아 엉뚱하게 CORS 가 발생하기도 하더라...
$.ajax({
type: 'post',
contentType: 'application/json',
data: JSON.stringify({
'name' : 'kim',
'age' : 27
}),
url: '/test',
xhrFields: {withCredentials: true},
success: function(data) {
},
error: function() {
}
});
@PostMapping("/test")
public Json<?> test(@RequestBody Dto dto) {
...
}