개발자 9Diin의 개발일기
JSON이란 무엇인가? 본문
이 포스팅은 '주홍철'님의 실시간 모니터링 시스템을 만들며 정복하는 MEVN 도서를 참고하여 작성하였습니다.
JSON이란 무엇인가?
일단, 정확한 정의를 한 번 살펴보기 위해 구글에 검색을 해보도록 한다.
https://developer.mozilla.org/ko/docs/Learn/JavaScript/Objects/JSON
JavaScript Object Notation (JSON)은 JavaScript 객체 문법으로 구조화된 데이터를 표현하기 위한 문자 기반의 표준 포맷이다. 웹 애플리케이션에서 데이터를 전송할 때 일반적으로 사용한다. (서버에서 클라이언트로 데이터를 전송하여 표현하려거나 반대의 경우). 여기저기서 자주 보았을 테니 여기선 JSON을 파싱, 데이터에 접근하고 JSON을 생성하는 등 Javascript로 JSON을 다루는 법에 대해 알아보도록 한다.
1. JSON의 기초
JSON이란 위에서도 설명했듯이 JavaScript Object Notation의 약자로 경량 데이터 교환 방식을 의미한다. 개발자들이 읽고 쓰기 쉽고, 그리고 직렬화와 파싱이 쉬운 장점이 있다.
객체와 JSON을 헷갈리기도 하는데 그 차이점을 설명해보면, 객체는 자바스크립트의 자료형이고, JSON은 데이터를 표현하는 형식 자체를 뜻한다.
여기서 JSON Object와 JSON Array 2가지로 나뉘는데, 이 형식을 객체로 변환하는 메서드인 JSON.parse와 문자열로 변환하는 JSON.stringify 메서드를 자바스크립트에서 제공한다.
JSON Object
["이름": "SON7AE"] 이러한 구조를 가진 형태를 JSON Object라고 부른다.
JSON Array
["이름": "SON7AE"] , ["이름": "SON7AE2"]처럼 JSON Object가 배열에 담긴 형태를 JSON Array라고 한다.
2. JSON의 value 추출하기
JSON 형태의 객체는 object로 먼저 만들어야 key를 통해 value를 참조할 수 있다. 예를 들어 const a = '["이름": "SON7AE"]' 이라는 문자열이 있다고 가정하자. 객체 형태가 " " 따옴표로 감싸져 있는 문자열이다. 이 문자열에서 이름이라는 키를 통해 SON7AE라는 값을 추출해내고 싶다면, 먼저 객체로 변환해야 한다. 이때 JSON.parse(obj)라는 메서드를 이용한다. 반대로 문자열을 만들 때는 JSON.stringigy(obj)라는 메서드를 사용한다.
코드를 보면 JSON 형태의 문자열을 JSON.parse를 통해 객체로 만들어서 이름이라는 key를 통해 value를 추출하고 있다. JSON 형식에는 2가지 규칙이 있다.
첫 번째로 JSON에는 주석이 들어갈 수 있지만, 되도록 주석이 들어가지 않는 것을 권장한다.
두 번째로 JSON의 value로 허용되는 자료형은 다음과 같다.
Number, String, Boolean, Array, Object, null이다.
이 기본 자료형이 아닌 것들은 직렬화되지 않으며, 기본값으로 추천되지 않는다.
참고로 자바스크립트의 기본적인 원시 타입은 Boolean, null, undefined, Number, String, Symbol이다.
보통 실수를 많이 하는 부분은 위의 코드처럼 JSON의 기본값을 undefined로 초기화하는 것이다. 이렇게 허용되는 자료형을 사용하지 않을 경우 직렬화되지 않는다.
'2021-2023' 카테고리의 다른 글
Firebase import error 해결방법 (0) | 2022.04.16 |
---|---|
전기세 전기료 환불 절차 및 전기세 잘못냈을 때 대처 방법 (4) | 2022.04.15 |
화살표함수와 기본 매개변수 (0) | 2022.04.14 |
함수 스코프와 호이스팅 (0) | 2022.04.13 |
합정역 맛집추천, 일본가정식 스미비부타동 (0) | 2022.04.12 |