XML vs JSON vs YAML

idkwhattodo·2022년 10월 10일
0

기타

목록 보기
11/13

1. XML

  • 데이터를 표현하기 위한 방식으로, HTML과 흡사하게 태그를 사용하며, 트리 계층 구조를 가지고 있음
  • XML 선언
    • version: XML 문서 버전을 명시
    • encoding: XML 문서의 문자 셋(Character Set)을 명시 (일반적으로 UTF-8을 사용)
    • standalone: XML 문서 외부 소스 데이터에 의존하는지의 여부를 명시
  • XML 문법
    • 태그는 꺽쇠(<>)를 사용하며, 닫는 태그에는 슬래시(/)를 넣어줌
    • 시작 태그와 종료 태그는 대소문자까지 모두 동일해야하며, 속성을 명시할 때는 따옴표("")를 사용함
    • 주석은 \ 형태로 사용이 가능함
<?xml version="1.0" encoding="UTF-8"?>
<users>  
  <user>    
    <name>홍길동</name>    
    <score>95</score>    
    <hobby>      
      <element>Soccer</element>      
      <element>Ninza</element>    
    </hobby>  
  </user>  
  <user>    
    <name>이순신</name>    
    <score>100</score>    
    <hobby>      
      <element>Sing</element>      
      <element>Dancing</element>    
    </hobby>  
  </user>
</users>

2. JSON (JavaScript Object Notation)

  • XML과 같이 데이터를 처리하기 위한 형식으로, 서버와의 통신 규약인 REST API 등의 API를 개발할 때 가장 많이 사용
  • 모든 프로그래밍 언어에서 JSON을 지원하기 때문에, 최근 XML에 비해 채택률이 높아지고 있음
  • JSON은 주석을 사용할 수 없는 특징이 있음
{	
  "users": {		
    "1": {			
      "name": "홍길동",			
      "score": 95,			
      "hobby": ["Soccer", "Ninza"]		
    },		
    "2": {			
      "name": "이순신",			
      "score": 100,			
      "hobby": ["Sing", "Dancing"]		
    }
  }
}

3. YAML

  • XML과 문법적으로 유사하며, 주석이 사용 가능함
  • 개행과 공백 위주로 블록을 인식하기 때문에 한 줄로 작성할 수 없다는 특징이 있음 (데이터 직렬화 형식)
  • JSON과 달리 한글과 같은 유니코드를 그대로 사용할 수 있음
  • 상속 등의 기능을 적용할 수 있음
  • 주로 Swagger API, Spring Boot, Docker 등에서 환경 설정(config) 파일 작성을 목적으로 사용
users:  
  1:    
    name: 홍길동    
    score: 95    
    hobby:      
      - Soccer      
      - Ninza  
  2:    
    name: 이순신    
    score: 100    
    hobby:      
      - Sing      
      - Dancing
profile
공부겅부

0개의 댓글