결론적으로,
JSON과 XML 모두 데이터 교환에 사용되는 데이터 포맷.
JSON : 데이터 교환을 목적으로 설계되어, 성능과 통신속도가 빠르며, 더 간걀하고 읽기 쉽다.
XML : 레거시 시스템 등에서 JSON보다 안정적이고, 다양한 데이터 형식을 지원하는 무거운 포맷.
두 형식 모두 데이터 교환에 사용되지만 JSON은 더 새롭고 유연하며 널리 사용되는 옵션이다.
오픈소스로 운영되는 모질라 재단의 문서 저장소, MDN(Mozila Developer Network)에 따르면,
JavaScript Object Notation (JSON)은 Javascript 객체 문법으로
구조화된 데이터를 표현하기 위한 문자 기반의 표준 포맷입니다.
웹 어플리케이션에서 데이터를 전송할 때 일반적으로 사용합니다
(서버에서 클라이언트로 데이터를 전송하여 표현하려거나 반대의 경우).
기술산업에 선도적인 클라우드 컴퓨팅 플랫폼인 AWS(Amazon Web Services)에서는,
XML(Extensible Markup Language)은 데이터를 정의하는 규칙을 제공하는 마크업 언어입니다.
XML를 사용하면 공유 가능한 방식으로 데이터를 정의하고 저장할 수 있습니다.
XML은 웹 사이트, 데이터베이스 및 타사 애플리케이션과 같은 컴퓨터 시스템 간의 정보 교환을 지원합니다.
사전 정의된 규칙을 사용하면 수신자가 이러한 규칙을 사용하여 데이터를 효율적으로 정확하게 읽을 수 있으므로 모든 네트워크에서 데이터를 XML 파일로 손쉽게 전송할 수 있습니다.
유사점
만약, 자바에서 파이썬으로 자료를 보낸다면, 아무런 문제 없이 교환할 수 있을까?
프로그래밍 언어와 플랫폼마다 동일한 데이터를 다르게 표현한다.
자바에서는 객체를 사용하는 반면, 파이썬에서는 엔티티를 딕셔너리 자료형을 사용하여 저장한다.
이 때, 데이터 직렬화를 위해 두 형식을 사용할 수 있다.
포맷
XML 문법
<guests>
<guest>
<firstName>John</firstName> <lastName>Doe</lastName>
</guest>
<guest>
<firstName>María</firstName> <lastName>García</lastName>
</guest>
<guest>
<firstName>Nikki</firstName> <lastName>Wolf</lastName>
</guest>
</guests>
JSON 문법
{"guests":[
{ "firstName":"John", "lastName":"Doe" },
{ "firstName":"María", "lastName":"García" },
{ "firstName":"Nikki", "lastName":"Wolf" }
]}
차이점
형식
JSON은 키:값 페어를 사용한 맵과 유사한 구조를 갖는다.
XML은 마크업 언어로서 HTML과 유사하며, 트리 구조를 갖는다.
구문 분석
JSON은 쉽게 액세스할 수 있는 표준 JavaScript 함수로 구문분석 할 수 있다.
XML은 XML 구문 분석기를 사용해야 하는데, 프로세스가 느려지고 복잡해지는 경우가 많다.
스키마 문서
JSON에서도 스키마를 사용할 수 있지만, XML에서보다 스키마가 더 단순하고, 유연성이 뛰어납니다.
XML 문서의 헤더에는 스키마에 대한 링크가 있고, 파일의 예상 내용을 읽을 수 있다.
데이터 유형 지원
JSON은 문자열, 숫자, 객체, 부울 등 한정된 데이터 유형만 지원한다.
XML은 더 유연하며, 이진 데이터 및 타임스탬프와 같은 복잡한 데이터 유형을 지원한다.
보안
JSON 구문 분석은 XML보다 안전하다.
XML구조는 무단 수정에 취약하며, 외부 엔티티 삽입(XXE), DTD의 보안 위협이 발생한다.
비정형 외부 문서 형식 선언(DTD) 기능을 비활성화 하면 두가지 문제를 모두 방지할 수 있다.
결론
이하 참고한 AWS 문서를 인용한다 :
XML은 데이터를 기계가 읽을 수 있는 방식으로 저장하는 데 중점을 두므로,
복잡한 데이터의 오류를 검사하는 데 있어서 JSON보다 더 효율적입니다.
또한 더욱 발전된 도구 및 라이브러리 세트를 갖추고 있으며 레거시 시스템에서 더 잘 작동할 수 있습니다.
반면 JSON은 데이터 교환을 목적으로 설계되었으며 더 간단하고 간결한 형식을 제공합니다.
또한 성능과 통신 속도를 향상시킵니다.
JSON은 일반적으로 API, 모바일 앱 및 데이터 스토리지에 더 적합하며,
XML은 데이터 교환이 필요한 복잡한 문서 구조에 더 적합합니다.
JSON은 일반적으로 API, 모바일 앱 및 데이터 스토리지에 더 적합하며, XML은 데이터 교환이 필요한 복잡한 문서 구조에 더 적합합니다.
두 형식 모두 데이터 교환에 사용되지만 JSON은 더 새롭고 유연하며 널리 사용되는 옵션입니다.
'ㄱ. 걱정과 공부 > 오늘의 한웅큼' 카테고리의 다른 글
온 프레미스와 오프 프레미스. (0) | 2024.08.21 |
---|---|
SQL과 NoSQL (9) | 2024.07.24 |
WBS(Work Breakdown Structure) (0) | 2024.06.15 |
상수와 리터럴. (1) | 2024.06.15 |