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은 네임 스페이스를 지원하여 다른 문서나 요소와의 구별이 가능함
'CS > Dev Ack' 카테고리의 다른 글
[개발자 상식] eMMC vs SSD (1) | 2024.01.14 |
---|---|
[개발자 상식] 저레벨 언어 / 고레벨 언어 / 어셈블리어 (0) | 2024.01.14 |
[개발자 상식] 메모리 반도체 구조 정리 (0) | 2024.01.14 |
[개발자 상식] 빅 엔디안과 리틀 엔디안 (0) | 2023.07.02 |
[개발자 상식] 헝가리안 표기법 (0) | 2023.07.01 |