XML과 JSON의 특징, 공통점, 차이점

Yanagi·2021년 7월 27일
3

1. XML

  • XML은 데이터를 저장하고 전달할 목적으로 만들어졌으며, 저장되는 데이터의 구조를 기술하기 위한 언어입니다.
  • XML은 EXtensible Markup Language의 약자로, 수많은 응용 분야에서 데이터를 저장하고 전달하는 중요한 역할을 맡고 있습니다.
  • XML를 배우기 전에 HTML, 자바스크립트 등의 기초 지식이 필요합니다.

2.XML의 특징

XML의 중요한 특징은 다음과 같습니다.

  • XML은 다른 목적의 마크업 언어를 만드는 데 사용되는 다목적 마크업 언어입니다.
  • XML은 다른 시스템끼리 다양한 종류의 데이터를 손쉽게 교환할 수 있도록 해줍니다.
  • XML은 새로운 태그를 만들어 추가해도 계속해서 동작하므로, 확장성이 좋습니다.
  • XML은 데이터를 보여주지 않고, 데이터를 전달하고 저장하는 것만을 목적으로 합니다.
  • XML은 텍스트 데이터 형식의 언어로 모든 XML 문서는 유니코드 문자로만 이루어집니다.

3.XML 기반의 언어

XML을 기반으로 하는 언어에는 XHTML, SVG, RDF, RSS, Atom, MathML 등이 있습니다.

4.XML 설계 목적

W3C에 의하면 XML은 원래 다음과 같은 목적으로 설계되었습니다.

  • XML은 인터넷상에서 명확하게 사용할 수 있어야 합니다.
  • XML은 다양한 응용 프로그램을 지원해야 합니다.
  • XML은 SGML과 호환되어야 합니다.
  • XML 문서를 처리하는 프로그램은 손쉽게 작성될 수 있어야 합니다.
  • XML에서 제공하는 옵션의 수는 최소한으로 유지되어야 합니다.
  • XML 문서는 인간이 읽을 수 있어야 하며, 의미가 명확해야 합니다.
  • XML의 설계는 빠르게 이루어져야 합니다.
  • XML의 설계는 공식적이면서 간결해야 합니다.
  • XML 문서는 작성하기 쉬워야 합니다.
  • XML 마크업의 간결성은 그다지 중요하지 않습니다.

5.XML 목적

  • 서로 호환되지 않는 데이터 타입을 사용하는 시스템 간의 데이터 교환에는 많은 시간과 노력이 발생합니다.이렇게 데이터를 변환하는 과정에서 데이터의 손실이 발생하는 경우도 종종 있습니다.
  • 하지만 XML은 데이터를 텍스트 형식으로 저장하므로, 소프트웨어나 하드웨어에 독립적으로 데이터를 저장하고 전달할 수 있습니다.
  • 따라서 XML을 사용하면 새로운 운영체제나 프로그램, 브라우저 등에 상관없이 데이터를 안전하고 손쉽게 전달할 수 있습니다.

6.JSON

  • JSON은 JavaScript Object Notation의 약자입니다.
  • JSON은 좀 더 쉽게 데이터를 교환하고 저장하기 위하여 만들어진 텍스트 기반의 데이터 교환 표준입니다.
  • JSON은 자바스크립트를 기반으로 만들어졌습니다. 자바스크립트에 대한 기초 지식이 있으면 배우기 수월합니다.
  • JSON은 XML의 대안으로서 좀 더 쉽게 데이터를 교환하고 저장하기 위하여 고안되었습니다.
  • JSON은 텍스트 기반이므로 어떠한 프로그래밍 언어에서도 JSON 데이터를 읽고 사용할 수 있습니다.

7. JSON의 특징

  • JSON은 자바스크립트를 확장하여 만들어졌습니다.
  • JSON은 자바스크립트 객체 표기법을 따릅니다.
  • JSON은 사람과 기계가 모두 읽기 편하도록 고안되었습니다.
  • JSON은 프로그래밍 언어와 운영체제에 독립적입니다.

8.JSON과 XML의 공통점

  • 둘 다 데이터를 저장하고 전달하기 위해 고안되었습니다.
  • 둘 다 기계뿐만 아니라 사람도 쉽게 읽을 수 있습니다.
  • 둘 다 계층적인 데이터 구조를 가집니다.
  • 둘 다 다양한 프로그래밍 언어에 의해 파싱될 수 있습니다.
  • 둘 다 XMLHttpRequest 객체를 이용하여 서버로부터 데이터를 전송받을 수 있습니다.

9. JSON과 XML의 차이점

  • JSON은 종료 태그를 사용하지 않습니다.
  • JSON의 구문이 XML의 구문보다 더 짧습니다.
  • JSON 데이터가 XML 데이터보다 더 빨리 읽고 쓸 수 있습니다.
  • XML은 배열을 사용할 수 없지만, JSON은 배열을 사용할 수 있습니다.
  • XML은 XML 파서로 파싱되며, JSON은 자바스크립트 표준 함수인 eval() 함수로 파싱됩니다.

XML 예제

식빵
웰시코기
1
2.14

위의 예제를 JSON 형태의 데이터로 바꾸면 다음과 같습니다.

JSON 예제
{
"name": "식빵",
"family": "웰시코기",
"age": 1,
"weight": 2.14
}

10. JSON의 사용 범위

  • XML 문서는 XML DOM(Document Object Model)을 이용하여 해당 문서에 접근합니다.
  • 하지만 JSON은 문자열을 전송받은 후에 해당 문자열을 바로 파싱하므로, XML보다 더욱 빠른 처리 속도를 보여줍니다.따라서 HTML과 자바스크립트가 연동되어 빠른 응답이 필요한 웹 환경에서 많이 사용되고 있습니다.

11.XML 의 사용범위

  • JSON은 전송받은 데이터의 무결성을 사용자가 직접 검증해야 합니다.
    따라서 데이터의 검증이 필요한 곳에서는 스키마를 사용하여 데이터의 무결성을 검증할 수 있는 XML이 아직도 많이 사용되고 있습니다.
profile
<'쟤'보단 내가 낫지> 에서 '쟤'를 담당하고 있습니다.

0개의 댓글