[CS] XML, JSON, YAML

miaa·2023년 1월 26일
0

CS | 개발 지식

목록 보기
2/2
post-thumbnail


XML


  • HTML과 흡사한 구조 / 꺽쇠 ( < xml > )

  • 트리(Tree) 계층 구조

  • XML이 가지는 고유한 문법이 있기 때문에 소프트웨어 및 하드웨어에 대하여

    독립적으로 데이터를 처리할 수 있다

  • 속성

    • version: XML 문서의 버전을 명시

    • encoding: XML 문서의 문자 셋(Character Set)을 명시 / 일반적으로 UTF-8을 사용

    • standalone: XML 문서 외부 소스 데이터에 의존하는지의 여부를 명시



JSON (JavaScript Object Notation)


  • 속성-값 쌍 또는 키-값 쌍으로 이루어진 데이터를 전달

    • JSON 메시지 단위는 배열이나 객체

    • Key(키)는 "쌍따옴표"로 묶어서 문자열로 표기한다 / 숫자도 문자열로 표현된다

    • Value(값)은 모든 자료형이 가능하며 자료형에 따라 표기 방법이 달라진다

  • 대괄호 ( { } ) 와 큰 따옴표

  • 계층형 구조

  • 서버와의 통신 규약인 REST API를 사용할 때 가장 많이 사용한다

  • JSON은 주석을 사용할 수 없다



XML 과 JSON 의 차이

  • XML은 배열을 사용할 수 없지만, JSON은 배열을 사용할 수 있다

  • JSON은 종료 태그를 사용하지 않는다

  • XML은 XML 파서로 파싱되며, JSON은 자바스크립트 표준 함수인 eval() 함수로 파싱된다



YAML


  • 기본적으로 들여쓰기(indent)를 원칙, 공백 위주로 데이터를 구분

  • 데이터는 Map(key-value)형식으로 작성

  • 사람이 읽기 쉬운 형태의 데이터 직렬화 양식

  • 인코딩 없이 한글과 같은 유니코드를 그대로 사용할 수 있다

  • YAML의 핵심은 문서 마크업이 아닌 데이터 중심에 있다는 것을 보여주기 위해

    Yet Another Markup Language -> YAML Ain't Markup Language 의 이름으로

    바뀌었다고 한다

  • 기본 자료형

    • 스칼라(Scalar) : 문자열 혹은 숫자

    • 시퀀스(Sequence): 배열

    • 매핑(Mapping): 해시 혹은 딕셔너리, key-value 쌍

profile
엉금엉금

0개의 댓글