개발을 하다보면 JSON형식으로 파일을 자주 주고 받았는데 JSON이 정확히 어떨때에 사용이되고 왜 사용이 되는지 그리고 다른 방법으로 데이터를 보낼 수는 없는지 궁금해져서 찾아보았다.
본문
JSON, XML, YAML은 기본적으로 프로그램 상에서 전달되는 데이터의 한 양식이다.
데이터를 전달할 때는 기본적으로 쭉 연결되는 text의 형태이기 때문에 구조회된 정보를 보내기 위해서 사용된다.
예를 들어 지도 앱을 사용한다고 하면, 특정 위도와 적도 주소를 서버에 보내면,
서버는 해당 장소의 주소와, 로드뷰, 주변 정보들을 어떠한 양식으로 정리해서 보내줄 것이다.
정보의 양식이 JSON이 될 수도 있고, XML이 될 수도 있는 것이다.
XML
XML은 <tag/>형식을 사용한다.
마치 index.html에서 사용되는 태그별로 정보를 정리하고 보낼 수 있게 되어있다.
HTML은 XML형식으로 웹을 표현할수 있도록 만든것
한가지 순수정보만 들어갈 수도 있고, 다수의 태그들이 중첩으로 사용되어 들어갈 수도 있다.
맨위에는 XML이라는 정보와 버전 그리고 인코딩 방식이 적혀져있다.
<?xml version='1.0' encoding='uft-8'?>
<map>
<location>
대한민국, 서울
</location>
</map>
장점
- 문법오류에 강함 (약간의 오류가 있어도 전송가능)
- 주석 생성 가능
- 정보가 잘 작성되었는지 스키마를 통해서 확인가능
JSON
XML의 경우 태그를 여러번 쳐야 해서, 한눈에 알아보기 어렵고 작성하기 번거롭다는 단점이 있다.
JSON은 javascript의 형태를 따서 만들어졌다. js의 Object형식을 사용하면서 사용하기 쉽게, 보기 쉽게 만들어졌다.
{
map:{
location:{
'대한민국 서울'
}
}
}
JSON의 단점은 문법오류에 취약하다는 것이다. XML이 태그명을 잘못입력해도 유동적으로 프로그램이 작동하는 반면에
JSON의 경우 브라켓 하나만 빼드려도 전체 정보에 오류가 발생한다.
따라서 정보를 전송할 때 전체적인 debug를 철저히 한 후에 보내야 하는 단점이 있다.
YAML
YAML은 브라켓이나 태그를 통해서 한줄로 잘 나타내는 것을 목적으로 하는것이 아니라,
스페이스공백을 통해 데이터의 layer을 나누고, 정리하는 정보양식이다.
띄어쓰기와 배열요소는 `-` 대시를 통해 정보가 나뉘어 지고, 사람이 보기 쉽게 정리한 정보 양식이다.
주석과 상속을 사용할 수 있다.
쓰고있는 사람의 편의를 우선한다.
그래서 도커 컴포즈파일이나 스프링등에 사용된다.
map:
- location: 대한민국 서울
- name: 서울
'언어(JS,TS) > 추가적인 좋은정보' 카테고리의 다른 글
apk [apk 까보기 : 앱 코드 구조 확인] (1) | 2024.01.29 |
---|---|
공통 [ Info : argument와 parameter 차이점 ] (0) | 2023.11.27 |
CS [ 정보 : 무결성과 정합성] (1) | 2023.07.19 |
Pseudocode [수도코드 란?] (0) | 2021.11.09 |
코드 학습법 (0) | 2021.11.09 |