시작은 미미하나 끝은 쥬쥬하리라.

CS/Dev Ack

[개발자 상식] json과 XML 뭐가 다를까 ?

코딩뚜벅이 2024. 1. 16. 22:43

json과 XML

  • json
  • XML
  • 요약

기본적으로 json과 XML 모두 데이터의 교환을 위한 형식으로 사용됩니다. 현재도 두 형식은 활발히 사용되고 있고 많은 사랑을 받지만 주요한 차이점과 장단점들이 존재합니다. XML은 오랜 기간 사용된 데이터 형식으로 아직도 많은 시스템에서 사용하고 있으며, json은 그 장점으로 최근 들어서 점점 XML을 대체해 가고 있는 데이터 형식입니다.

 

json

 

 

개요

텍스트 기반 데이터 교환 형식

key <-> value의 쌍으로 이루어진 객체 또는 배열로 표현

각 key와 value는 문자열, 숫자, bool 타입, 배열, 객체 등 다양한 데이터 타입을 가질 수 있음

일반적으로 Web에서 Client <-> Server 간 데이터 교환에 사용

 

목적

JavaScript에서 데이터를 쉽게 교환하고 저장하기 위해 디자인

경량형 데이터이며 가독성과 쉬운 Write가 강조

데이터 교환 및 구조화에 초점

 

장점

가독성이 좋고 간결

JavaScript에서 쉽게 파싱 가능

대부분의 프로그래밍 언어에서 쉽게 처리

 

단점

NameSpace를 지원하지 않음

복잡한 문서 구조에는 부적합

 

예시

 

 


 

XML

 

 

개요

텍스트 기반의 MarkUp(마크업) 언어로 Tag를 사용하여 데이터를 표현

데이터는 계층 구조를 가진 트리로 표현되며, 각 요소는 Tag로 감싸져서 표현

속성을 사용하여 추가적인 정보의 제공이 가능하고 NameSpace를 활용하여 요소를 식별하는 것이 가능

다양한 분야에서 데이터의 표현과 구조화에 사용되며 Web 서비스에서도 많이 활용

 

목적

다양한 종류의 데이터를 표현하고 전송하기 위한 범용 마크업 언어로 디자인

유연하고 확장 가능한 데이터 표현이 가능하도록 설계

다양한 응용 분야와 특수한 목적에 적합하도록 확장성을 지님

 

장점

네임 스페이스를 지원하여 문서 간 충돌을 방지

다양한 데이터 타입 지원

Web에서 오랜기간 사용되어 기존 시스템과의 호환성이 높음

 

단점

가독성이 낮고 문서의 크기가 큰 편에 해당

파싱 동작이 상대적으로 복잡할 수 있음

json과 비교해 불필요한 Tag와 속성이 많음

 

예시

 

 

 


 

요약

개요

json은 배열과 객체의 조합으로 데이터를 표현하며 JavaScript에서의 쉬운 Read/Write를 위해 디자인

XML은 Tag들의 중첩 트리 구조로 데이터를 표현하며, 마크업 언어로 Html과 비슷한 형태를 지님

 

가독성

json은 일반 텍스트 구조로 형성되어 있어 가독성이 좋음

XML은 불필요한 Tag와 속성이 많아 가독성이 좋지 않음

 

속성

json은 key와 value로 데이터를 표현하며 속성의 이름은 string 형태여야만 함

XML은 Tag와 속성으로 데이터를 표현하며 속성의 이름은 string 혹은 ID 형태일 수 있음

 

네임 스페이스

json은 네임 스페이스를 지원하지 않음

XML은 네임 스페이스를 지원하여 다른 문서나 요소와의 구별이 가능함