정리/JavaScript

[JS] JSON

루미미 2023. 11. 23. 01:46

JSON이란?

JavaScript Object Notation의 줄임말로 자바스크립트 언어의 문법을 빌려서 만들어진 데이터 포맷이다.

서버와 클라이언트 간에 자료를 주고받으려면 양쪽 컴퓨터 모두 이해할 수 있는 형식을 사용해야 하는데 이때 JSON이 필요하다.

자료 표현 방식으로는 JSON 이외에 XML, CSV 등이 있는데 작성하기가 어렵고 용량이 커서 현재는 JSON을 많이 사용하고 있다.

 

JSON의 특징

1. 텍스트로만 구성되어 있어서 서버와 클라이언트 사이에서 주고받을 때 빠르게 전송된다.

2. 프로그래밍 언어나 플랫폼에 대해 독립적이어서 C언어나 자바, 파이썬 등 많은 언어에서 사용할 수 있다.

3. 자바스크립트 사용자라면 누구나 알고 있는 표기법을 사용하므로 읽기도 쉽고 필요에 따라 자바스크립트 객체로도 쉽게 변환할 수 있다.

 

JSON의 형식

JSON은 기본적으로 중괄호 안에 이름과 값 한 쌍의 집합으로 이루어져 있다.

이름은 반드시 큰따옴표로 감싸줘야 하고 값이 문자열인 경우에도 큰따옴표를 사용해야 한다.

 

{
   "name":"Michael Kim",
   "height":180,
   "weight":70,
   "hobbies":["Basketball", "Listening to music"]
}

 

자바스크립트 객체 → JSON 데이터

 

자바스크립트 객체는 기본으로 내장하는 프로퍼티들이 존재한다. 이런 것들은 서버에 전혀 보낼 필요가 없는 것들이라서 객체가 가진 데이터만을 string 타입으로 변환하는 직렬화를 해야 한다. 이때 JSON.stringify()를 사용한다.

 

JSON 데이터 → 자바스크립트 객체

 

서버에서 가져온 JSON 데이터를 자바스크립트 프로그램에서 사용하려면 객체로 변환해야 한다. 문자열 상태로는 값을 가져올 수 없어서 문자열을 역직렬화해 자바스크립트 객체로 변환을 해줘야 코드에서 자유롭게 사용할 수 있다. 이때 JSON.parse()를 사용한다.