JSON
JavaScript Object Notation은 클라이언트와 서버 간의 HTTP 통신을 위한 텍스트 데이터 포맷
- 자바스크립트에 종속되지 않는 언어 독립형 데이터 포맷으로, 대부분의 프로그래밍 언어에서 사용가능
JSON표기 방식
JSON은 자바스크립트의 객체 리터럴과 유사하게 키와 값으로 구성된 순수한 텍스트
[예제]
{
"name": "LEE",
"age": "27",
"alive": true,
"hobby": ["traveling","tennis"]
}
- JSON키는 반드시 큰따옴표 사용(작은따옴표 사용 불가)
- 값은 객체 리터럴과 같은표기법을 사용
- 문자열은 반드시 큰따옴표 사용(작은따옴표 사용 불가)
JSON.stringify
- JSON.stringify 메서드는 객체를 JSON 포맷의 문자열로 변환
- 클라이언트가 서버로 객체를 전송하려면 객체를 문자열화해야함 => 직렬화
- JSON.stringify 메서드는 객체뿐만 아니라 배열도 JSON포맷의 문자열로 변환
JSON.parse
- JSON.parse 메서드는 JSON포맷의 문자열을 객체로 변환
- 서버로부터 클라이언트에게 전송된 JSON데이터는 문자열 -> 이 문자열을 객체로 사용하려면 JSON포맷의 문자열을 객체화해야함 => 역직렬화
- 배열이 JSON포맷의 문자열로 변환되어 있는 경우 JSON.parse 는 문자열을 배열 객체로 변환
- 배열의 요소가 객체인 경우 배열의 요소까지 객체로 변환