JSON
: 데이터를 저장하거나 전송할 때 많이 사용되는 경량의 DATA 교환 형식
- JavaScript Object Notation(자바 스크립트 객체 표기법)의 약자
- 텍스트 기반이기 때문에 어떤 프로그래밍 언어에서도 데이터를 읽고 사용 가능
- XML보다 좀 더 쉽게 데이터를 교환, 저장하기 위해 고안
- XML
- EXtensibleMarkup Language의 약자로, HTML과 매우 비슷한 문자 기반의 마크업 언어
- 데이터를 저장하고 전달할 목적으로 만들어짐
- HTML태그처럼 미리 정의되어 있지 않고, 사용자가 직접 정의 가능
- XML
JSON 특징
- JS를 확장하여 만들어짐
- JS 객체 표기법을 따름
- 사람과 기계가 모두 읽기 편하도록 고안
- 프로그래밍 언어와 OS에 독립접
JSON vs XML
JSON | XML | |
공통점 |
|
|
차이점 |
|
|
JSON 구조
- 이름과 값의 쌍으로 이루어짐
{ "key": value }
- 쉼표(,)로 나열됨
- 객체는 중괄호({})로 둘러쌓아 표현
- 배열은 대괄호([])로 둘러쌓아 표현
JSON 데이터
- 데이터의 이름은 문자열이므로 항상 큰따옴표("") 사용
- 데이터 타입
- number
- 정수, 실수, 지수만 나타낼 수 있고, 8진수나 16진수 등을 표현하는 방법은 제공 X
- string
- boolean
- object
- 프로퍼티의 집합
- array
- 데이터 값의 집합
- 여러 타임의 배열 요소 가질 수 있
- null
- 항상 소문자로 표기해서 사용
- 값을 가지고 있지 않다는 의미 (undefined는 값 자체가 없다는 의미)
- JSON 에서는 undefined 타입 제공 X
- number
JSON이 가져올 수 있는 데이터
JSON은 단순히 데이터 포맷일 뿐이라 그 데이터를 불러오기 위해선 XMLHttpRequest() 를 사용해야하는데 이 함수는 동일 서버에 대한 것만 지원하기 때문에 JSON은 JS가 로드된 서버의 데이터만 가져올 수 있다.
(JSONP 또는 프락시 역할을 하는 서버쪽 Script 파일로 가능하게 할 수 있음)
JSONP
: CORS가 활성화 되기 이전의 데이터 요청 방법으로, 다른 도메인으로부터 데이터를 가져오기 위해 사용하는 방법
JSON 형식 텍스트 JS Object로 변환
- JSON.parse(JSON 형식의 문자열)
: JSON 형식의 텍스트를 JS 객체로 변환 - JSON.stringify(JSON 형식의 문자열로 변환할 값)
: JS 객체를 JSON 텍스트로 변환
참고
'Study' 카테고리의 다른 글
[Protocol] HTTP 정리 (0) | 2023.10.16 |
---|---|
[HTTP] HTTP message (0) | 2023.10.13 |
[Web] Stateful / Stateless 차이 (2) | 2023.10.11 |
[Firebase] Realtime Database & Firestore (0) | 2023.10.10 |