나의 개발 일상 기록
데이터 교환 방식 본문
1. XML(eXtebsible Markup Language)
* XML은 데이터를 표현하기 위하여 많이 사용되어 온 방식으로 HTML과 흡사한 구조를 가지고 있습니다. XML이
가지는 고유한 문법이 있다는 점에서 소프트웨어 및 하드웨어에 대하여 독립적으로 데이터를 처리할 수 있습니다.
XML의 특징은 꺽쇠<> 입니다. XML은 트리 계층 구조를 가지고 있습니다.
|
<?xml version="1.0" encoding="UTF-8"?> <users> <user> <name>홍길동</name> <score>95</score> <hobby> <element>Soccer</element> <element>Ninza</element> </hobby> </user> <user> <name>이순신</name> <score>100</score> <hobby> <element>Sing</element> <element>Dancing</element> </hobby> </user> <user> <name>나동빈</name> <score>97</score> <hobby> <element>Coding</element> <element>Hiding</element> </hobby> </user> </users> |
2. JSON(JavaScript Object Notation)
* JSON 또한 XML과 비슷하게 데이터를 처리하기 위한 형식입니다. 일반적으로 서버와의 통신 규약인 REST API를
사용할 때 가장 많이 사용되어, 최근에는 XML보다는 JSON 형식이 채택되고 있습니다. 사실상 모든 프로그래밍
언어를 지원한다는 점에서 XML과 YAML에 비해서 많이 사용되고 있습니다. JSON은 주석을 사용할 수 없다는
특징이 있습니다.
* 기본적으로 JSON 형식에서는 키(Key) 값이 서로 다른 형대로 사용됩니다. JSON은 꺾쇠가 사용되지 않고
대괄호와 큰 따옴표를 이용해 계층형 구조를 형성한다는 특징이 있습니다.
|
{ "users": { "1": { "name": "홍길동", "score": 95, "hobby": [ }, "2": { "name": "이순신", "score": 100, "hobby": [ }, "3": { "name": "나동빈", "score": 97, "hobby": [ } } } |
3. YAML (Ain't Markup Language)
* YAML 또한 JSON과 비슷하게 사람이 읽기 쉬운 형태의 데이터 표현 형식입니다. YAML은 XML과 문법적으로
유사한 점이 많습니다. YAML에서도 주석을 사용 가능하며 개행, 공백으로 블록을 인식합니다. 다만, 태그를
사용하지 않고 공백 위주로 데이터를 구분하므로 한 줄로 작성할 수 없다는 특징이 있습니다.
* JSON은 한글 등의 멀티 바이트 문자를 인코딩하여 보여주지만 YAML은 할글과 같은 유니코드를 그대로 사용
할 수 있다는 장점이 있습니다. 일반적으로 API를 만들 때에는 JSON을 사용하며, YAML은 설정 파일을 작성
할 때 가장 많이 사용된다는 특징이 있습니다. YAML은 상속(Inherit)등의 기능도 적용할 수 있다는
점에서 효율적입니다.
|
users: 1: name: 홍길동 score: 95 hobby: - Soccer - Ninza 2: name: 이순신 score: 100 hobby: - Sing - Dancing 3: name: 나동빈 score: 97 hobby: - Coding - Hiding |
'API' 카테고리의 다른 글
| [API] GraphQL 서버 만들기 (0) | 2021.07.09 |
|---|---|
| [API] GraphQL & Apllo (0) | 2021.07.09 |
| 카카오 지도 OPEN API (0) | 2021.03.05 |
| 네이버 영화 검색 OPEN API (0) | 2021.03.03 |
| API (Application Programming Interface) (0) | 2021.02.23 |