이것저것
JSON vs XML 본문
JSON (JavaScript Object Notation)
- 브라우저 통신을 위한 속성-값 또는 키-값 쌍으로 이루어진 데이터 포맷이다.
특징
- 사용하기 쉽다.
- 적은 메모리 공간을 사용하기 때문에 빠르다.
- 매핑을 생성하지 안하도 된다. (Jackson API 가 직렬화할 여러 개체에 대한 기본 매핑을 제공한다.)
- 종속성 : JSON 을 사용하기 위해 다른 라이브러리가 필요하지 않다.
JSON의 장점
- 모든 브라우저에 대한 지원을 제공한다.
- 구문이 간단하고, 직렬화가 가능하다.
- 생성, 조작, 읽기, 쓰기가 쉽다.
JSON의 단점
- 네임 스페이스 지원이 없다. ( 확장성이 부족)
- 형식적인 문법 정의 지원( 문법을 지켜야한다)
- 제한된 개발 도구 지원
//JSON 예
{"pets":[
{ "type":"강아지", "name":"멍멍" },
{ "type":"고양이", "name":"야옹" },
{ "type":"토끼", "name":"깡총" }
]}
XML (eXtensible Markup Language)
- HTML 과 비슷한 문자 기반의 마크업 언어이다. (HTML 은 데이터를 보여주는 목적이지만, XML 은 데이터를 저장하고 전달하는 목적이다.)
- XML 태그는 HTML 태그와 다르게 미리 정의되어 있지 않고, 사용자가 직접 정의 가능하다.
특징
- 구조화된 형식은 프로그램에서 읽고 쓰기가 쉽다.
- 확장 가능한 마크업 언어이다.
XML 의 장점
- 시스템 및 애플리케이션 간에 문서 전송이 가능하다.
- HTML 에서 데이터를 분리한다.
XML의 단점
- 처리 응용 프로그램이 필요하다
- 내장 데이터 유형 지원이 없다
- XML 구문이 중복된다
- 사용자가 자신의 태그를 생성하는 것을 허용하지 않는다
- 텍스트 기반 데이터 전송 형식과 유사하다
//XML 예
<pets>
<pet>
<type>강아지</type><name>멍멍</name>
</pet>
<pet>
<type>고양이</type><name>야옹</name>
</pet>
<pet>
<type>토끼</type><name>깡총</name>
</pet>
</pets>
JSON 과 XML 의 공통점
- 데이터를 저장하고 전달하기 위해 고안되었다.
- 기계 뿐만 아니라, 사람도 쉽게 읽을 수 있다.
- 계층적인 데이터 구조를 지니고 있다.
- 다양한 프로그래밍 언어에 의해 파싱될 수 있다.
JSON 과 XML 의 차이점
JSON | XML | |
종료 태그 사용 | x | o |
구문길이 | 짧다 | 길다 |
읽기/쓰기 속도 | 빠르다 | 느리다 |
네임스페이스 | 제공x | 제공o |
배열 | 사용가능 | 사용불가능 |
파싱 | javascript 표준함수인 eval() 함수로 파싱 | xml 파서로 파싱 |
데이터 표시 | 없음 | 제공 |
안전성 | 비교적 낮다 | 비교적 높다 |
인코딩 | UTF-8 | 다양한 인코딩 형식 지원 |
'Web' 카테고리의 다른 글
JWT 란? (Json Web Token) (0) | 2021.05.12 |
---|---|
REST API 정의, 사용 이유 (0) | 2021.04.24 |
HTTPS - SSL / TLS (0) | 2021.02.17 |
Session, Cookie 에 관하여 (0) | 2021.02.17 |
Web Socket (0) | 2021.01.18 |