728x90
반응형
XML (Extensible Markup Language)
- HTML과 유사한 마크업 언어이다. 기계는 물론 사람도 읽기 편한 구조로 되어있다.
- HTML이 데이터를 보여주기 위해 개발되었다면, XML은 데이터의 저장과 전달을 위해 만들어졌다.
- HTML과 달리 XML의 태그는 미리 정의되어 있지 않고, 개발자가 임의로 정의할 수 있다.
JSON (JavaScript Object Notation)
- 데이터를 쉽게 저장하고 전달하기 위해 만들어진 데이터 교환 표준.
- 자바 스크립트를 기반으로 확장하여 만들어졌다.
- 그래서 자바스크립트의 객체 표기법을 따른다.
- XML의 대안으로서 더 쉽게 데이터를 저장하고 전달하기 위해 개발되었다.
- 텍스트 기반 언어이기에 모든 프로그래밍 언어에서 읽고 사용할 수 있다. 즉, 프로그래밍 언어에 독립적이다.
XML과 JSON
공통점
- 데이터의 저장과 전송을 위해 개발되었다.
- 계층적인 구조를 가진다.
- 프로그래밍 언어에 관계없이 독립적으로 파싱이 가능하다.
차이점
- JSON은 종료 태그를 사용하지 않는다.
- JSON이 XML보다 더 짧고, 더 빠른 입출력이 가능하다.
- XML은 배열을 사용할 수 없지만 JSON은 배열을 사용할 수 있다.
JSON이 더 빠른 이유?
- XML은 XML DOM을 이용해 해당 문서에 접근하게 된다.
- 하지만 JSON은 문자열을 전송받아 바로 파싱이 가능해 보다 빠른 처리 속도를 보여준다.
그런데 왜 아직도 XML을 사용할까?
- XML이 무결성의 부분에서 JSON보다 뛰어나다.
- 규약 문서로 활용되는 XSD (XML Schema Definition) 이 정교하고 강력하기 때문이다.
- 그렇기에 데이터의 검증이 필요한 경우, 개발자가 직접 검증하지 않아도 쉽게 무결성 검증이 가능한 XML이 더 많이 사용된다.
<house>
<locate> 경기도 </locate>
<rooms> 2 </rooms>
<price> 50,000,000 </price>
</house>
<XML>
{
"locate" : "경기도",
"rooms" : 2,
"price" : "50,000,000"
}
<JSON>
728x90
반응형
'IT 지식 > 데이터베이스' 카테고리의 다른 글
[DB] 두 개 컬럼을 인덱스로 묶고 그 중 하나로만 쿼리를 하면? (0) | 2024.01.16 |
---|---|
ON DELETE(UPDATE) 옵션 (0) | 2024.01.10 |
[PostgreSQL] 컬럼의 Length를 지정해야 하는 이유 (0) | 2023.07.05 |
[DB] 격리수준 (0) | 2021.05.30 |
[DB & BOOT] 트랜잭션 (0) | 2021.05.30 |