XML 과 JSON

2025. 1. 17. 20:34

앱을 만들려고 오픈 API를 찾아보던 중에 JSON으로만 된 것만 쓰다가 XML로된 API를 쓸 일이 있어서 JSON 과 XML은 어떤 차이가 있는지 알아보았다.

JSON (JavaScript Object Notation)

JSON은 자바스크립드 객체를 표현하는 방식을 기반으로 KEY : Value 로 이루어진 데이터 형식입니다.  키는 문자열로, 값은 문자열, 숫자, 불리언, 배열, 또는 다른 객체가 될 수 있습니다.

예시

{
    "name": "Metallica",
    "albums": [
        {
            "title": "Black Album",
            "releaseYear": 1991
        },
        {
            "title": "Load",
            "releaseYear": 1996
        }
    ]
}

장점

  • 가벼운 구조: xml보가 간결하고 가벼워서 네트워크 대역폭을 절약할 수 있다.
  • javaScript와의 호환성 : JSON은 JavaScript에서 기본적으로 지원되므로, 클라이언트 축에서 쉽게 사용할 수 있다.
  • 파싱속도 : JSON 파서는 XML 보다 속도가 빠르다

단점

  • 데이터 유형 제한 : 문자열, 숫자, 불리언, 배열, 객체 등 제한된 데이터 유형만 지원한다.
  • 주석 불가: 주석을 사용할 수 없어, 설명을 추가하기가 어렵다.

 

 

XML (eXtensible Markup Language)

XML은 데이터를 젖장하고 전송하기 위한 마크업 언어입니다. 문서의 구조를 정의할 수 있는 태그기반의 형식으로, 다양한 데이터 유형을 표현할 수 있다. 시작 태그와 종료 태그로 구성된 요소로 구성되며, 속성을 통해 추가 정보를 제공할 수 있다.

예시

<band>
    <name>Metallica</name>
    <albums>
        <album>
            <title>Black Album</title>
            <releaseYear>1991</releaseYear>
        </album>
        <album>
            <title>Load</title>
            <releaseYear>1996</releaseYear>
        </album>
    </albums>
</band>

장점

  • 유연한 구조: XML은 데이터의 구조를 매우 유연하게 정의할 수 있어서 복잡한 데이터 표현에 유리하다.
  • 데이터 유형 지원: 다양한 데이터 유형을 지원하며, 사용자 정의 태그를 만들 수 있다.
  • 주석 가능 : 주석을 사용할 수 있어서, 설명을 추가 할 수 있다.

단점

  • 무거운 구조 : XML은 태그가 많아서 JSON보다 데이터의 크기가 크다
  • 복잡한 파싱 : XML은 JSON보다 복잡하고 느릴 수 있다.

 

사용사례

  • JSON : 웹 API, RESTful API에서 많이 사용된다. javaScript 기반의 프론트엔드와의 호환성이 뛰어나기 때문에 현대 웹 애플리케이션에서 널리 사용됩니다.
  • XML: 데이터의 구조가 복잡하거나 다양한 데이터 유형을 필요로 할 때 사용된다.. 예를 들어, SOAP 웹 서비스, 문서 형식의 저장 및 전송, 그리고 설정 파일 등에 사용됩니다.

 

 

결론

JSON과 XML은 각각의 장단점이 있으며, 사용자의 요구에 따라 적합한 형식을 선택해야 합니다. 데이터의 간결함과 속도가 중요하다면 JSON을, 데이터의 구조적 유연성과 다양한 데이터 유형이 필요하다면 XML을 선택하는 것이 좋습니다.

'정보' 카테고리의 다른 글

면접 준비 25.02.24  (0) 2025.02.24
Mermaid: 다이어그램 생성을 위한 강력한 도구  (1) 2025.02.13
모바일 빌드 포멧  (1) 2024.12.19
JSON 통신  (0) 2024.12.05
MVVM패턴, MVC패턴  (1) 2024.12.03

BELATED ARTICLES

more