본문 바로가기

CS

데이터 교환 형식 - JSON과 XML

JSON 이란?

자바스크립트 객체 문법으로 구조화된 데이터 교환 형식으로 여러 프로그래밍 언어에서 사용되고 있다.

1. 자바스크립트 객체 문법

key, value 형태로 구성된 프로퍼티들의 집합 -> {key : value}

2. 데이터 교환 형식

데이터를 교환할 때 JSON은 하나의 양식이다.

3. 여러 프로그래밍에서 사용

다양한 프로그래밍 언어에서 딕셔너리, 객체, 해시테이블, 맵 등으로 사용된다. -> 프로그래밍 언어가 업그레이드 된다 하더라도 JSON은 똑같이 호환되어 사용할 수 있다. -> JSON은 독립적이다.

4. 단순 배열이나 문자열로 표현 가능

JSON의 타입

Javascript Object와 비슷하지만 undefined와 메서드를 포함할 수 없고, Number, String, Boolean, Array, Object, null의 타입을 포함할 수 있다.

JSON 직렬화, 역직렬화

직렬화: 외부의 시스템에서도 사용할 수 있도록 Byte의 형태로 데이터를 변환하는 과정

ex) 자바스크립트에서 stringify(), Dart에서 jsonEncode()

역직렬화: Byte 형태의 데이터를 현재 시스템에서 사용할 수 있도록 변환하는 과정

ex) 자바스크립트에서 Json.parse(), Dart에서 jsonDecode()

JSON 활용

JSON은 프로그래밍 언어와 프레임워크에 독립적이다. 따라서 서로 다른 시스템 간 데이터를 교환하기에 적합하다. API 반환 형태나 시스템 설정 파일 등으로 사용된다.

 

XML 이란?

xml(Extensible Markup Language)는 마크업 형태의 데이터 교환 형식

1. 마크업(Markup)

태그 등으로 데이터나 문서의 구조를 나타내는 방법이다.

2. 구성

- 프롤로그(버전, 인코딩)

- 루트요소

- 하위요소

HTML과 XML의 차이

- HTML은 데이터를 표시하는 용도로 사용되고, XML은 데이터를 저장하고 전송하는 데 사용된다.

- HTML은 이미 정의된 태그를 사용하고, XML은 사용자가 정의한 태그를 사용할 수 있다.

- XML은 대소문자 구분을 하지만 HTML은 대소문자 구분을 하지 않는다.

XML의 활용

사이트 맵(sitemap.xml)

 

JSON과 XML의 차이

- XML은 닫힌 태그가 사용되기 때문에 JSON과 비교하여 상대적으로 무겁다.

- XML을 특정 언어에서 사용할 수 있는 형태로 변환하는 과정이 JSON에 비해 까다롭다.

'CS' 카테고리의 다른 글

API에 대하여  (0) 2023.06.22
Token과 JWT  (2) 2023.02.27
Token과 Session  (0) 2023.02.27