출처 : https://www.inflearn.com/questions/16184
xml과 Json파일 포맷은 많이 들어보셨는지요?
아마 많이 쓰고 계실거로 생각됩니다. 그럼 이런 포맷들은 왜 사용할까요?
그걸 먼저 설명드리면,
우리가 타 시스템 간에 데이터를 주고 받을 때 데이터 포맷에 대한 약속이 필요합니다.
혼자 시스템을 개발하거나 내부 시스템끼리는 임의의 규칙을 세워서 데이터를 주고 받아도 됩니다.
문제는 타 시스템들과의 연동을 할 때입니다.
내부에서 세운 임의의 규칙을 타 시스템들과 데이터를 주고 받을 때마다 그 규칙을 문서로 주고 받기도 번거롭고,
데이터 규칙에 대한 문서들이 많아지는 문제가 있습니다.
그래서 xml이나 Json같은 데이터 포맷을 정의하고 그 포맷에는 규칙도 있습니다.
좀 정신없는 그림이지만..
이렇게 태그형식을 통해서 Key와 Value를 구분하고, 태그안에 태그를 넣어서 부모와 자식관계의 구조를 나타냅니다.
저도 요즘은 Xml 포맷을 자주 접하지 않아서 보고 있으면 어지럽네요;
근데 위에 Object와 Array 부분은 표시를 해놨지만 Xml포맷상으로는 구분이 안되는 부분도 있습니다.
다음은 똑같은 내용의 Json 포맷입니다.
딱 봐도 간소해 보이네요. 좀 눈에 피로가 풀리는것 같습니다. ㅎ
그리고 Object 일 경우 {} 로 감싸주고있고, Array일 경우 []로 감싸주고 있어서 구분도 되고요.
Key도 아까 Xml처러 두번 들어가지 않아서 좋네요.
근데 {}, [], "" 이런 문자들이 지금은 좀 거추장스러워 보입니다.
(yaml 파일을 알기 전까진 몰랐지만요 ㅎ)
다음은 Yaml 입니다. 야믈이라고 보통 읽고요. yml 이라고도 씁니다.
안구정화가 되네요.
-(하이픈)을 통해서 Array임을 알수가 있습니다.
yaml을 몰라서 안쓴 사람은 있어도 한번 yaml을 쓰게되면 다른포맷은 불편하게 느껴지게 된다고 말씀드리고 싶네요.
가독성 비교를 한번 해볼까요?
yaml 포맷은 이제 많은 곳에서 사용되고 있습니다.
개발 시스템 설정파일 또한 ex) config.properties를 사용했는데 이제는 대부분 config.yml로 바꾸곤함~
쿠버네티스도 API로 데이터를 주고받을 때는 Json규격도 사용되지만
일반적으로 yaml을 권장~
'무지성 메모' 카테고리의 다른 글
■ 소켓통신보다 http통신이 더 비효율적인데 왜 http통신? (0) | 2022.03.08 |
---|---|
■ @RequestBody는 언제 붙여야 하는가 ■ @Transactional 더티체킹? ■ x-www form-urlencoded json 차이 (0) | 2022.03.07 |
■ HTTP API?? REST API??의 차이? ■ MIME타입 ■ @Controller @RestController (0) | 2022.03.03 |
■ Git은 3가지 박스를 동기화하는 작업 ■ UTF-8 간단 설명 (0) | 2022.02.28 |
■ 스프링 IoC(제어의 역전) (0) | 2022.02.28 |