웹기술

직렬화와 데이터 형식 (XML, JSON, YAML)

옴악핫세 2023. 3. 12. 22:58
더보기

구조화된 데이터를 (like 테이블) 전송하기 위해 아래 형식 중 선택할 수 있음

XML (eXtensible Markup Language) : 다른 시스템간 정보를 교환하는데 사용하는 마크업 언어

JSON (JavaScript Object Notation) : 

YAML : 사용자 편의를 중시하는 데이터 표현 방식

 

  • 직렬화 (Serialization)

컴퓨터의 데이터 객체를 저장매체에 저장할 수 있는 형식, 또는 네트워크를 통해 전송할 수 있는 것으로 변환하는 것을 뜻함

 

데이터 전송을 편리하고 효율적으로 하려면 한줄의 긴 텍스트로 전송하면 된다.

하지만 아래 그림과 같은 구조화된 테이블 데이터를 전송하려면 어떻게할까?

  • XML (eXtensible Markup Language)

XML은 사람과 기계가 읽을 수 있는 형식으로 문서를 인코딩하기 위한 규칙 집합을 정의하는 마크업 언어이다.

XML은 플랫폼 독립적인 마크업 언어이다.

  • 장점
    1. XML의 주요 이점은 다른 플랫폼간에 데이터를 교환할 수 있는 것이다.
    2. 주석 사용 가능
    3. 문법 오류에 강함 : 특정 부분의 문법이 틀려도 나머지 데이터는 영향을 안받음
  • 단점 : 장황하다, 가독성이 안좋음

 

  • HTML과 XML의 차이점

HTML은 웹 페이지 및 웹 응용 프로그램의 구조를 만들기 위한 표준 마크업 언어

XML은 사람과 기계가 읽을 수 있는 형식으로 문서를 인코딩하기 위한 규칙 집합을 정의하는 마크업 언어

둘은 문법이 상이하며 HTML은 데이터 표시에 중점을 두고 XML은 정보 전달에 초점을 둔다!

 

  • JSON (JavaScript Object Notation)

자바스크립트 기반 간결하게 데이터를 표현 할 수 있어서 최근에는 XML보다 JSON을 많이 사용함

  • 장점
    • 간결하고 작성하기 쉬움
  • 단점
    1. 문법 오류에 취약함
    2. 주석 작성 불가능

 

결론

안전성이 중요한 곳에는 XML이 사용됨