카테고리 없음

11. JSON/XML

개발자는신이야 2023. 9. 26. 03:20

정의

JSON/XML은 브라우저와 서버 간의 자료를 통신할 때 사용하는 표준화된 데이터 포맷이다.,

 

REST API

JSON/XML이 가장 대표적으로 사용되는 경우는 브라우저와 서버 간의 데이터 통신이다.

REST API는 앱이 거대해지는 것을 막기 위해 고안된 데이터 통신 방법으로 무거운 HTML 혹은 이미지 파일을 보내는 것 대신 실제로 필요한 데이터만 보내는 방식이다. 실제 웹 개발을 할 때 API를 자주 사용한다.

 

데이터 통신 외 XML이 사용되는 예

안드로이드 모바일 앱을 개발할 때 기능에 해당하는 부분은 자바 혹은 Kotlin을 사용하여 개발하지만 레이아웃 혹은 속성 정보 등의 리소스 파일들은 대부분 XML 문서로 작성된다.

개발자들은 XML을 통해 레이아웃을 재사용할 수 있으며 뷰와 로직을 분리할 수 있다.

또한 여러 데이터를 더 쉽고 빠르게 관리할 수 있다.

 

XML을 사용해 레이아웃을 작성하면 하나의 레이아웃을 하나의 파일로 관리할 수 있으며 구조적, 계층적 이디 때문에 한눈에 이해하기 쉽게 작성할 수 있다.

 

https://medium.com/@oazzat19/what-is-the-difference-between-html-vs-xml-vs-json-254864972bbb

 

XML

XML은 확장 가능한 마크업 언어이다.

여기서 사용된 마크업 언어는 HTML에서도 동일하게 사용된다.

XML은 HTML과 비슷하게 생긴 데이터 포맷이지만 데이터를 보여 주지 않고 전송하는 것이 목적이라는 차이점 있다.

 

JSON

JS의 객체 문법을 사용하는 데이터 포맷이다.

JSON은 XML의 단점을 해결하기 위해 고안된 데이터 형식으로 키(Key)와 값(Value)의 쌍으로 이루어져 있다.

JS의 객체 속성과 동일하고, 다른 언어에서도 파이썬의 Dictionary 혹은 자바의 Map 등 키와 값을 사용하는 자료형과 상당히 유사하다.

 

JSON형식은 태그 대신 {} 혹은 []같은 괄호를 사용하여 각각의 데이터들을 묶어준다.

 

구분 JSON XML
목적 데이터를 전송하기 위한 수단
사용 언어 어떠한 언어를 사용해도 상관없음
속도 빠름 느림
갈이 짧다 길다
종료 태그 사용하지 않음 사용함
안정성 낮음 높음
인코딩 UTF-8 다양한 인코딩 지원

 

JSON은 길이가 짧고 종료 태그가 없어 속도가 상당히 빠르지만, 안정성이 떨어지고 인코딩 형식이 다양하지 않다는 단점이 있다.

 

하지만 현재는 JSON의 장점이 단점을 극복할 정도로 빠르기 때문에 XML보다 JSON을 더 많이 사용하고 있는 추세라고 한다.