XML, JSON, YAML

박세웅·2021년 8월 31일
0

클론 코딩 강의를 듣던 도중, JSON에 대해 접하게 되었다. 개발 공부를 하기 이전부터 가끔씩 듣던 개념이라서 이 참에 한 번 정리를 해보려고 한다. YouTube 채널인 얄팍한 코딩사전에서 다른 형식들과 묶어서 설명을 잘 해주셔서, 그 내용을 여기에 정리해보려고 한다.

데이터를 주고받는 형식

XML, JSON, YAML은 구조화 된 데이터를 주고 받는 형식이다. 서버와 클라이언트가 데이터를 주고 받을 때, 형식을 약속해야 원활하게 통신할 수 있을 것이다. 구조화 된 데이터는 특정 값일수도, 배열일수도 있다.

2명의 학생 데이터가 들어있는 표를 형식 별로 직접 작성해보았다.

XML

XML은 다음과 같이 생겼다.

<?xml version="1.0" encoding="UTF-8"?>
<!-- 학생 목록 -->

<root>
  
  <row>
    <id> 1 </id>
    <name> 김철수 </name>
  </row>
  
  <row>
    <id> 2 </id>
    <name> 최영희 </name>
  </row>

</root>

XML의 각 태그가 데이터의 항목이고, 태그 안에 데이터의 내용이 들어간다. 태그 안에 태그가 들어가는 식으로 중첩해서 사용할 수도 있으며, indent(들여쓰기)는 없어도 무방하다. 태그를 열고 닫아야하니 장황하다는 느낌이 들긴 하나, XSD라는 스키마로 검증이 가능하고, 또 주석도 사용할 수 있다는 장점이 있다.

JSON

JSON은 다음과 같이 생겼다.

[
	{"id" : "1",
	 "name" : "김철수"
     	},
   	{"id" : "2",
    	"name" : "최영희"
    	}
]

대괄호가 하나의 배열임을 의미하고, 중괄호 안에 항목별로 데이터를 구분한다. 용량도 작고, 사람이 이해하기도 쉬워서 널리 활용된다. XML을 대체하는 추세에 있는데, 문법 오류가 나기 쉽다는 단점이 있긴 하다. API 통신할 때 널리 활용된다.

YAML

YAML은 다음과 같이 생겼다.

--- 
- id: '1'
  name: 김철수
- id: '2'
  name: 최영희

YAML은 사람이 보기 쉽게 작성하는 것이 목표이다. Intend와 space가 필수이고, 주석, 상속을 사용할 수 있어 편리하다. 자세히 찾아보진 않았지만, 보편적으로 활용되는 형식은 아닌 것 같다.

참고자료

https://www.json2yaml.com/ JSON-YAML 변환기

https://www.convertjson.com/json-to-xml.htm JSON-XML 변환기

https://www.youtube.com/watch?v=55FrHTNjTCc&list=PLpO7kx5DnyIFQ4XuYirD--DvRyUgaHD9w&index=14
XML, JSON, YAML이 뭔가요? (얄팍한 코딩사전 YouTube 채널)

profile
개발, 투자, 운동, 영화에 관심이 많습니다.

0개의 댓글