JSON (JavaScript Object Notation)
"구조화된 데이터를 자바스크립트 객체 문법으로 표현하기 위한 문자 기반의 표준 포맷"
- 웹 어플리케이션에서 데이터를 전송할 때 일반적으로 사용 (서버에서 클라이언트로 데이터를 전송해 표현하려거나 반대의 경우에도)
- 개별 JSON 객체를 `.json` 확장자를 가진 단순 텍스트 파일에 저장할 수 있음
JSON은 문자열 형태로 존재
- 네트워크를 통해 전송할 때 유용함
- 데이터에 접근하기 위해선 네이티브 JSON 객체 형태로 변환해야함
MIME 타입은 application/json
JSON의 구조
JSON은 자바스크립트 객체 리터럴 문법을 따르는 문자열이기 때문에 그 내부엔 자바스크립트의 기본 데이터 타입인 문자열, 숫자, 배열, 불리언, 다른 객체 등을 모두 포함할 수 있음
기타 정보
- JSON은 순수한 데이터 포맷. 오직 프로퍼티만 담을 수 있으며, 메서드는 담을 수 없음
- JSON은 문자열과 프로퍼티 이름 작성시 큰따옴표만 사용 가능함
- 콤마나 콜론 배치 실수로 JSON 파일이 잘못될 수 있으니 주의
- parse() : 매개변수로 JSON 문자열을 받아 일치하는 자바스크립트 객체로 변환
- stringify() : 매개변수로 자바스크립트 객체를 받아 일치하는 JSON 문자열 형태로 변환
MIME type (미디어 타입)
Multipurpose Internet Mail Extensions
- 문서, 파일 또는 바이트 집합의 성격과 형식을 나타냄
- 브라우더는 파일 확장자 말고 미디어 타입을 사용해 URL 처리 방법을 결정하기 때문에, 웹서버가 Response Header의 Content-Type에 올바른 미디어 타입을 보내는 것이 중요함
기본 구조
항상 type/subtype의 형태. 추가정보를 위해 선택적으로 매개변수가 추가되기도 함. 이 경우type/subtype;parameter=value의 형태.
- type : 데이터 타입이 속하는 일반 카테고리. `video` 또는 `text` 등
- subtype : MIME 타입 바탕으로 정확한 데이터 종류 식별. 예를 들어 `text`의 하위 타입에는 `plain(평문 텍스트)`, `html(html 소스코드)`, `calendar` 등이 있음
type의 두 가지 클래스
1) discrete(개별 타입) : 단일 텍스트나 음악 파일, 단일 비디오 등 단일 파일이나 매체
- application : 다른 타입에 속하지 않는 모든 종류의 이진 데이터
- audio, example, font, image, model, text, video
2) multipart : 여러 컴포넌트 조각으로 구성된 문서. 각 조각은 고유한 개별 MIME 타입을 가질 수 있으며, multipart 타입은 하나의 트랜잭션으로 함께 여러 파일을 캡슐화 할 수 있음. 글을 전송하면서 동시에 사진이나 영상들을 첨부할 수 있는 이메일 등에서 이 타입을 활용
- message, multipart
'TIL&WIL' 카테고리의 다른 글
241121 TIL - for...in과 for...of 그리고 둘의 차이 (0) | 2024.11.21 |
---|---|
241120 TIL - Array.slice(), HTTP메서드 PUT & PATCH, 멱등성 (0) | 2024.11.20 |
241118 TIL - 정적/동적 웹페이지, ECMA, Node.js, 논블로킹I/O, 싱글스레드, 이벤트루프, IDE, REL 환경, 모듈과 패키지 (0) | 2024.11.18 |
241117 TIL - 개인과제05 (0) | 2024.11.18 |
241116 TIL - 개인과제04 (2) | 2024.11.16 |