오늘은 모던 JavaScript 튜토리얼에서 JSON과 메서드(https://ko.javascript.info/json)에 대해서 공부했다. 대학교 동기와 개발을 본격적으로 시작하면서 프로젝트를 진행하며 JSON을 처음 접했을 때는 뭔지도 모르고 강의 내용 그대로 복사해 사용한 적이 있었다. 오늘 그 JSON에 대해 제대로 공부해 볼 수 있어서 좋았다. 작성한 질문은 다음과 같다.
JSON 사용하는 경우는 네트워크를 통해 객체를 전달하거나 로깅 목적으로 객체를 출력하는 경우, 데이터 교환을 목적으로 사용하는 경우가 있다.
객체를 JSON으로 바꿔주는 메서드: JSON.stringify
JSON을 객체로 바꿔주는 메서드: JSON.parse
JSON으로 인코딩 된 객체는 일반 객체와 달리 이러한 특징을 갖는다.
- 문자열은 쌍 따옴표로 감싸 진다.
- 객체의 프로퍼티 키 또한 쌍 따옴표로 감싸 진다.
JSON.stringify 호출 시 무시되는 프로퍼티는 다음과 같다.
- 함수형 프로퍼티(메서드)
- 값이 undefined인 프로퍼티
- 심볼형 프로퍼티(키가 심볼인 프로퍼티)
원하는 프로퍼티만을 직렬화 처리하기 위해 사용하는 메서드는 replacer라는 메서드이다.
JSON.parse에서 문자열을 Date와 같은 객체로 전환해줘야 한다는 걸 알리는 방법은 parse의 두 번째 인자인 reviver를 사용하여 프로퍼티 키가 date라면 Date 객체를 반환하도록 함수를 구현하면 된다.
JSON과 메서드를 공부하면서 가장 인상깊게 느낀 부분은 내가 JavaScript에서 작성한, 또는 협업하는 사람이 다른 언어로 작성한 데이터를 JSON이라는 번역기를 통해 서로 사용할 수 있다는 점이었다. 이제는 왜 백엔드와 협업할 때, JSON을 사용했는지에 대한 이유를 알 수 있어서 좋았다.
'TIL' 카테고리의 다른 글
TIL - 20220712 (0) | 2022.07.12 |
---|---|
TIL - 20220711 (0) | 2022.07.11 |
TIL - 20220709 (0) | 2022.07.09 |
TIL - 20220708 (0) | 2022.07.08 |
TIL - 20220707 (0) | 2022.07.07 |