JSON이란?

jihan kong·2022년 2월 6일
0

API 실습

목록 보기
2/5
post-thumbnail
post-custom-banner

JSON

JavaScript Object Notation.
말 그대로 자바스크립트 객체 표기법이다. 주로 서버와 웹페이지 간에 어떤 데이터를 주고 받을 때 많이 사용하는 포맷 형식이다. 그렇다면 JSON은 프로그래밍 언어인가?

No.
JSON은 프로그래밍 언어도 아니고 문법도 아니며 단지 하나의 데이터의 저장 방식일 뿐이다. 그렇지만 JSON도 JSON 나름의 규칙이 있다.

왜 사용할까?

B2B 혹은 B2C 서비스를 제공할 때 상호간 데이터를 주고 받는 경우가 거의 대부분일 것이다. 이 때, 객체 상태 그대로 데이터를 전달할수는 없기 때문에 객체(object)를 문자열(String)으로 변환해서 전달해주어야만 한다. 또한 받은 쪽에서는 다시 문자열을 객체로 변환해야 프로그래밍 언어에서 객체로써 사용할 수 있게 된다. 각 언어는 언어마다 이러한 변환 작업을 편리하게 해주는 유용한 라이브러리들이 많다.

JSON 용법

다음은 JSON 사용의 대표적인 예시이다.

[
  {"name": "홍길동", "age": 20, "nationality": "한국"},
  {"name": "이순신", "age": 30, "nationality": "미국"},
  {"name": "강감찬", "age": 40, "nationality": "일본"}
]

3개의 item으로 이루어진 배열이고, 각 항목은 3개의 Property를 가지고 있는 객체로 구성되어 있다. 한 가지 특징은 값을 쌍따옴표로 처리하고 있는 것을 볼 수 있다. 즉, JSON은 "속성 : 값" or "key : value" 의 쌍으로 이루어진 데이터 객체를 전달하기 위해 만들어진 포맷이라고 할 수 있다. 자바 스크립트의 배열과 상당히 유사하다.

JSON 특징

사람이 읽기에(보기에) 좋은 구조와 텍스트를 사용하는 것을 볼 수 있다. 웹 상에서 비동기 처리 기반의 브라우저 혹은 서버에서 데이터를 주고 받을 때 많이 사용한다.

또한 JSON은 과거에 많이 사용했던 XML을 대체하여 요즘 많이 사용하고 있는 추세인데 XML은 너무 헤비하고 복잡하다는 단점이 있었다. 이에 반해 JSON은 XML보다 훨씬 가볍고 간결하다. 거의 모든 언어를 지원하고 계층적인 구조 또한 가지고 있다. (이는 XML도 마찬가지이긴 하다.)

다음을 살펴보자.

// XML
<people>
	<person>
		<firstName>길동</firstName> <lastName></lastName>
	</person>
	<person>
		<firstName>순신</firstName> <lastName></lastName>
	</person>
	<person>
		<firstName>감찬</firstName> <lastName></lastName>
	</person>
</people>

XML은 위와 같이 end tag를 일일히 작성해주어야 하는 불편함이 있다. 이에 반해 JSON은 다음과 같이 간결하게 사용할 수 있다.

// JSON
{
	"people" : [
		{ "firstName" : "길동", "lastName" : "홍" },
		{ "firstName" : "순신", "lastName" : "이" },
		{ "firstName" : "감찬", "lastName" : "강" }
	]
}

이외에도 JSON은 배열을 사용할 수 있다는 장점을 가지고 있다.

profile
학습하며 도전하는 것을 즐기는 개발자
post-custom-banner

0개의 댓글