JSON: Javascript 객체 문법으로 구조화된 데이터 교환형식
Javascript 객체문법: 키(key)과 값(value)으로 구성
ex) {key : value}
value 접근법: .key 또는 [“key”]
JSON의 타입: 수(Number), 문자열(String), 참/거짓(Boolean), 배열(Array), 객체(Object), null
※ undefined, 메서드 포함 X
JSON 직렬화: 외부의 시스템에서도 사용할 수 있도록 문자열 형태로 데이터를 변환
ex) JSON.stringify()
JSON 역직렬화: 직렬화 반대
ex) JSON.parse()
JSON의 활용: 프로그래밍 언어와 프레임워크 등에 독립적이므로, 서로 다른 시스템간에 데이터를
교환하기에 좋음
주로 API의 반환형태, 시스템을 구성하는 설정파일에 활용
ex) API, package.json
XML: 마크업 형태를 쓰는 데이터 교환형식
ex) sitemap.xml: 서비스 내의 모든 페이지들을 리스트업한 데이터, 사이트가 매우 크거나 서로 링크가 종속적으로 연결되지 않은 경우 크롤러가 일부 페이지를 누락하는 일이 있는데 이를 sitemap.xml이 방지하고 모든 페이지들을 크롤링할 수 있도록 도움
마크업 형태: 태그 등을 이용하여 문서나 데이터의 구조를 나타내는 방법
XML 구성
1. 프롤로그 : 버전, 인코딩
2. 루트요소(단 하나만)
3. 하위 요소들
HTML VS XML
| HTML | XML | |
|---|---|---|
| 용도 | 데이터 표시 | 데이터 저장 및 전송 |
| 태그 | 미리 정의된 태그 | 태그 정의 가능 |
| 대소문자 구분 | X | O |
JSON VS XML
XML은 닫힌 태그가 계속 들어가기 때문에 JSON보다 무거움
변환을 위해 더 많은 노력 필요 ex) JSON은 JSON.parse()면 변환 가능