Computer Science

XML, JSON, YAML이란?

쵸키 2023. 1. 13. 21:17

XML - 안정성!

<?xml version="1.0"?>
<CAT>
  <NAME>Izzy</NAME>
  <BREED>Siamese</BREED>
  <AGE>6</AGE>
  <ALTERED>yes</ALTERED>
  <DECLAWED>no</DECLAWED>
  <LICENSE>Izz138bod</LICENSE>
  <OWNER>Colin Wilcox</OWNER>
</CAT>
  • 정보를 서버와 클라이언트 사이에서 주고 받을 때 사용된다.
  • <tag/></tag>와 같은 형태로 표현되며 엔터와 탭으로 indenting이 된 형태를 가진다.
  • XML minifie 를 사용하면 엔터와 탭을 제거하고 한줄로 표현된다. 여는태그와 닫는 태그를 사용하기 때문에 정보를 읽는데 문제는 없다.
  • XML formatter를 사용하면 다시 한줄로 indenting이 된다.
  • XML은 열고 닫는 태그가 있기 때문에 HTML 작성 시 일부 오타가 들어가도 읽을 수 있다.
  • XML XSD를 사용하면 스키마를 사용하여 문법을 검증할 수 있다.

그러나 XML은 같은 태그를 두 번 입력해야 하고 indenting이 된 형태도 가독성이 떨어진다. 그래서 나온 것이 JSON이다.

JSON - 가벼움!

{
  "newlines_sample": "number one line\\n\\nsecond line\\n\\nlast line\\n"
}
  • 자바스크립트 객체 형태로 정보를 표현한다.
  • 간결하고 작성하기 쉽기 때문에 많이 사용된다.
  • 문법 오류에 취약하다. 콤마 하나가 잘못되어도 문서 전체를 해석할 수 없다.

YAML - 사용자 편의!

newlines_sample: |
            number one line

            second line

            last line
  • 데이터를 한줄로 보내는 것이아니라, 사람이 보고 작성하는데 목적을 둔다.
  • 줄바꿈과 태그가 필수 요소이다.
  • 상속을 사용하여 여러 데이터를 효율적으로 작성할 수 있다.
  • 사용자의 편의에 집중하기 때문에 도커 컴포즈나 스프링등에 주로 사용된다.

이 세형식은 필요에 따라 사용된다.