본문 바로가기
IT 지식/데이터베이스

[데이터베이스] JSON과 XML

by 이민우 2021. 4. 6.
728x90
반응형

XML (Extensible Markup Language)

  • HTML과 유사한 마크업 언어이다. 기계는 물론 사람도 읽기 편한 구조로 되어있다.
  • HTML이 데이터를 보여주기 위해 개발되었다면, XML은 데이터의 저장과 전달을 위해 만들어졌다.
  • HTML과 달리 XML의 태그는 미리 정의되어 있지 않고, 개발자가 임의로 정의할 수 있다.

 

 

 

JSON (JavaScript Object Notation)

 

  • 데이터를 쉽게 저장하고 전달하기 위해 만들어진 데이터 교환 표준.
  • 자바 스크립트를 기반으로 확장하여 만들어졌다.
  • 그래서 자바스크립트의 객체 표기법을 따른다.
  • XML의 대안으로서 더 쉽게 데이터를 저장하고 전달하기 위해 개발되었다.
  • 텍스트 기반 언어이기에 모든 프로그래밍 언어에서 읽고 사용할 수 있다. 즉, 프로그래밍 언어에 독립적이다.

 

 

 

XML과 JSON

 

공통점

  1. 데이터의 저장과 전송을 위해 개발되었다.
  2. 계층적인 구조를 가진다.
  3. 프로그래밍 언어에 관계없이 독립적으로 파싱이 가능하다.

 

차이점

  1. JSON은 종료 태그를 사용하지 않는다.
  2. JSON이 XML보다 더 짧고, 더 빠른 입출력이 가능하다.
  3. 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
반응형