XML 과 JSON 정리 및 비교

버건디·2022년 8월 9일
0

XML JSON

목록 보기
1/1
post-thumbnail

텍스트 파일 안에 정보들을 상대방과 주고받는다고 가정해보자.
컴퓨터가 받아들이는 정보는 한줄로 쭉 이어진 텍스트이기 때문에 밑의 사진처럼 정보가 테이블 형식으로 되어있다면 데이터를 주고받기 힘들것이다. 이렇듯 구조화된 데이터들을 주고받기 위한 잘 설계된 어떤 형식이 필요한데, 이럴때 사용되는 데이터 표기 방식이 XML과 JSON이다.

❓ XML 이란 ❓

  • XML은 데이터를 저장하고 전달할 목적으로 만들어졌으며, 저장되는 데이터의 구조를 기술하기 위한 언어다

  • XML은 EXtensible Markup Language의 약자로, 수많은 응용 분야에서 데이터를 저장하고 전달하는 중요한 역할을 맡고 있다.

  • XML은 마크업 언어라기 보다 마크업 언어를 정의하기 위한 언어라고 할 수있다.

❗️XML은 태그라는 형식을 사용한다❗️

<address-book>
<entry>
<name>홍길동</name>
<pic>hong.gif</pic>
<address>140-742 서울시 용산구 청파동 253-12</address>
<tel>02-710-9379</tel>
<email>webmaster@mm.sookmyung.ac.kr</email>
</entry>
<entry>
<name>임순범</name>
<pic>sblim.gif</pic>
<address>135-867 서울 강남구 삼성동 예홍빌라</address>
<tel preferred="true">02-710-9424</tel>
<tel>011-329-9919</tel>
<email>sblim@sookmyung.ac.kr</email>
</entry>
</address-book>

위의 코드들을 보면 HTML이 떠오를텐데, XML의 형식으로 웹을 표현할수 있도록 만든 언어가 HTML이다.

그래서 XML을 마크업 언어라기보다, 마크업 언어를 정의하기 위한 언어라고 하는것이다.

저런식으로 코드가 작성이 되어있는것은 사람이 보기 쉽도록 코드정렬이 되어있는것이고

XMLMinifier 에 들어가서 저 위의 코드를 붙여넣기를 하면

<address-book><entry><name>홍길동</name><pic>hong.gif</pic><address>140-742 서울시 용산구 청파동 253-12</address><tel>02-710-9379</tel><email>webmaster@mm.sookmyung.ac.kr</email></entry><entry><name>임순범</name><pic>sblim.gif</pic><address>135-867 서울 강남구 삼성동 예홍빌라</address><tel preferred="true">02-710-9424</tel><tel>011-329-9919</tel><email>sblim@sookmyung.ac.kr</email></entry></address-book>

이런식으로 변경이 된다.

여는 태그와 닫는 태그를 통해 확실하게 정보값들을 표현해준거라 아예 한줄로 작성을 해도 상관이 없다.

HTML 코드들도 마찬가지로 눈에 보이기 쉽게 정렬이 되어있을뿐, 한줄로 이어서 작성을 해도 오류가 발생하지

않는다.

❗️하지만 일일히 태그들을 닫아줘야하고, 아무리 테이블화를 했다고 하더라도 가독성이 그렇게 좋은 형태는 아니다

그래서 이런 단점들을 보완하는 데이터 표기 방식이 JSON이다.


- JSON 이란?

  • JSON(JavaScript Object Notation)은 쉽게 데이터를 교환하고 저장하기 위하여 만들어진 텍스트 기반의 데이터 교환 표준이다.
  • JSON은 자바스크립트 객체 (key : value) 표기법으로서, 간단하게 구조화된 정보를 표시할 수있다.
  • 텍스트 기반이므로 어떠한 프로그래밍 언어에서도 JSON 데이터를 읽고 사용할 수 있다.
//JSON 형식 예제

{
        "Pascal" : [ {
            "Name" : "Pascal Made Simple",
            "price" : 700
        }, {
            "Name" : "Guide to Pascal",
            "price" : 400
        } ],
        "Scala" : [ {
            "Name" : "Scala for the Impatient",
            "price" : 1000
        }, {
            "Name" : "Scala in Depth",
            "price" : 1300
        } ]
    }

이렇게 key : value 형식으로 표현함으로써 데이터들을 간결하게 표시할 수 있다.

이 코드 또한 JSON Minifier 사이트에 들어가서 저 코드를 붙여넣기 해본다면

{"Pascal":[{"Name":"Pascal Made Simple","price":700},{"Name":"Guide to Pascal","price":400}],"Scala":[{"Name":"Scala for the Impatient","price":1000},{"Name":"Scala in Depth","price":1300}]}

이런식으로 한줄로 된 코드를 도출해낼 수 있다.


- ❓ 그렇다면 JSON이 무조건적으로 좋은 형식인가 ❓

답은 아니다.

  • JSON은 문법 오류에 취약하기 때문에, 데이터를 작성하다가 오타가 하나만 생기더라도 데이터 전체를 사용할 수 없게 된다. 하지만 XML은 열고 닫는 태그가 존재하기 때문에 닫는 태그 바깥쪽에 오타가 있더라도 컴퓨터가 읽을 수 있다

  • XML은 주석을 달 수 있는 장점이 있다.

  • XML은 스키마(xsd 파일 형식)를 통해 데이터가 올바른 형식으로 작성이 됐는지 확인이 가능하다.

  • 하지만 JSON은 데이터의 무결성을 사용자가 직접 검토해야한다.

❗️ 그러므로 경우에 따라서 XML과 JSON을 사용해야 한다 ❗️


- 비교 사진

profile
https://brgndy.me/ 로 옮기는 중입니다 :)

0개의 댓글