🔙뒤로가기
데이터 표현은 클라이언트와 서버 간에 데이터를 교환하는 방식을 의미한다. JSON과 XML은 웹 기반 API에서 가장 일반적으로 사용되는 데이터 표현 형식이다. 각 형식의 특징은 다음과 같다.
- JSON (JavaScript Object Notation)
- JSON은 가벼운 데이터 교환 형식으로, JavaScript에서 객체를 나타내는 방식을 기반으로 한다.
- JSON은 속성 이름과 값이 쌍으로 이루어진 구조로, 배열과 중첩 객체를 지원한다.
- JSON은 텍스트 기반 형식으로, 인간이 읽고 쓰기 쉽다.
- JSON은 다양한 프로그래밍 언어와 호환되며, JavaScript와의 통합이 원활하여 웹 기반 어플리케이션에서 널리 사용된다.
- 예시:
{"name": "John", "age": 30, "city": "New York"}
- XML (eXtensible Markup Language)
- XML은 마크업 언어로, 데이터를 계층적 구조로 표현한다.
- XML은 시작 태그와 종료 태그로 이루어진 요소(element)를 사용하여 데이터를 구조화한다.
- XML은 다양한 프로그래밍 언어와 호환되며, 웬 서비스 및 문서 처리에 널리 사용된다.
- 예시:
<person><name>John</name><age>30</age><city>New York</city></person>
두 형식은 모두 클라이언트와 서버 간에 데이터를 교환하는 데 사용되지만, 요즘에는 JSON이 더 널리 사용되는 추세이다. JSON은 간결한 문법과 빠른 처리 속도로 인해 웹 기반 API, 특히 RESTful API에서 선호되는 형식이다.
<aside>
⚠️ 일부 상황에서는 XML이 더 적합한 경우도 있으므로, 데이터 표현 형식을 선택할 때는 목적과 요구 사항을 고려해야 한다.
</aside>
XML이 더 적합한 예시
- 메타데이터와 함께 데이터를 표현해야 하는 경우
XML은 태그를 사용하여 데이터와 관련 메타데이터를 함께 표현할 수 있다. 이러한 구조는 문서 처리 및 출판과 같은 분야에서 유용하며, 예를 들어 ePub 전자책의 경우 XML을 사용한다.
- 복잡한 계층 구조를 가진 데이터 표현
XML은 복잡한 계층 구조를 가진 데이터를 쉽게 표현할 수 있다. 이는 XML 스키마를 사용하여 데이터 구조의 유효성을 검사할 수 있기 때문에, 엄격한 데이터 구조가 필요한 응용 프로그램에서 유용하다.
- 네임스페이스 지원이 필요한 경우
XML은 네임스페이스를 지원하여 서로 다른 출처의 데이터를 동일한 문서에 통합할 수 있다. 이러한 기능은 여러 소스로부터 데이터를 모아 처리해야 하는 상황에서 유용하다.
- XSLT를 사용한 데이터 변환
XML은 XSLT(Extensible Stylesheet Language Transformations)를 사용하여 데이터를 다른 형식으로 변환할 수 있다. 이는 XML 문서를 다른 형식의 문서로 변환하거나, 특정 목적에 맞게 데이터를 변경하는 데 유용하다.