본문 바로가기
서버 기본상식

res.json() vs express.res.json()

by 왕밤 2021. 9. 10.

express.json()

=>  parse  (JSON.parse +(JSON.stringify)+ res.send)

=>  요청시 들어온 페이로드(json)을 해석해서 send하는 용도

=> 안에 들어있는 데이터들을 자동으로 json 형식으로 바꾸어 보내준다

 

페이로드를 강제적으로 json 형식의 데이터로 만들고 (json.parse해주고)

그다음 JSON.stringify해서res.send()를 호출해 응답을 한다

응답 Content-Type헤더를 설정하고 application/json으로 값을 준다

 payload = "{"name": "kimcording"}"
 
 👉 let response = JSON.parse(payload)
 👉 let resultResponse = JSON.stringify(response)
 👉 res.send(resultResponse) // 끝

 

http 모듈에서의

res.json()

다양한 유형의 응답을 전송합니다.

객체 형태의 문자열 페이로드를 받으면  응답을 한다(stiringify 할 필요 없음 이미 문자열이다)

 payload = "{"name": "kimcording"}"
 
 👉 res.send(payload) // 끝!

 

 

추가

express의

 

=> res.send()와 res.json()은 별반 다를게 없다

=> res.send()는 추가적으로 stringify를 하고 send도 해야하는데 res.json은 한번에 해결을 하기 때문

 

결론

json형식을 사용한다면 이미 정의되어 있는 res.json()을 사용하는게 효율적입니다

 

+

그럼 (send, json)왜 나누어져 있나??

객체가 아닌 경우의 페이로드를 응답하기 위해서!

 

https://stackoverflow.com/questions/37698782/difference-between-res-send-or-res-json

'서버 기본상식' 카테고리의 다른 글

Status Codes  (0) 2021.09.12
① (경로)요청 메세지 보내기 by Postman  (0) 2021.09.11
HTTP messages  (0) 2021.09.02
크롬 에러 해결  (0) 2021.09.02
3) 도메인 , DNS  (0) 2021.09.02

댓글