[Python] YAML vs JSON vs XML, File Formats

Posted by

YAML Ain’t Markup Language

기존에 주로 사용 되던 포맷인 JSON의 불편함을 해소하기 위해 만들어진 Superset이다.

JSON의 완전한 상위 호환이기 때문에 기존 JSON 문서를 그대로 YAML파일로 활용하거나, 원하는 부분만 손 볼 수 있다. 반대로 YAML을 JSON으로 변환할 수도 있다.


# example.yml
{ "key": "value" }
# example.yml
key: value

위와 같이 작성하더라도 동일하게 동작한다.


이러한 특징 덕분에 기존 JSON을 사용하고 있더라도 금방 익힐 수 있으며 추가 지원이 없더라도 사용자가 직접 변환해 쉽게 사용할 수 있다.

또한 XML, JSON등과 비교해도 압도적으로 간결하고, 읽기 쉽지만, 선언적 특성으로 디버깅이 어려운 부분도 있다.

YAMLJSONXML
DeepLink:
people
– name: Kim
number: 1
phone_number: 0000
status: active
– name: Park
number: 2
phone_number: 0001
status: active






{
“DeepLink”: {
“people”: [
{
“name”: “Kim”,
“number”: “1”,
“phone_number”: “0000”,
“status”: “active”
},
{
“name”: “Park”,
“number”: “2”,
“phone_number”: “0001”,
“status”: “active”
}
]
}
<DeepLink>
<people>
<name> Kim </name>
<number> 1 </number>
<phone_number> 0000</phone_number>
<status> active </status>
</people>
<people>
<name> Park </name>
<number> 1 </number>
<phone_number> 0001 </phone_number>
<status> active </status>
</people>
</DeepLink>


Comparison YAML, JSON and XML

Leave a Reply

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다