Code States/TIL

[0411] YAML - YAML과 JSON

ki1111m2 2023. 4. 11. 13:07

학습 목표

  • 구조화된 데이터를 표현하는 방식을 학습한다.
    • XML, JSON, YAML의 차이점을 이해한다.
  • 데이터를 YAML 형식으로 표현할 수 있다.
    • 간단한 YAML 문법을 학습한다.
      • 데이터를 표현하는 키-값 형태를 이해한다.
      • Array, Dictionary 등의 구조를 이애한다.
      • 작성된 데이터가 여러 줄일 때, 표현하는 방식을 학습한다.
  • 스프린트를 통해 데이터를 보고 YAML 형식으로 작성하여 실습한다.

YAML


  • YAML Ain’t Markup Language
  • 구조를 가진 데이터 표현 양식의 한 종류
  • 데이터 정의
    • key: value
    • 반드시 공백문자 포함
    • 사용 가능 데이터 타입: Number, String, Boolean
    • 문자열에 특수문자(\n, @ 등)가 포함된 경우, 따옴표(” “)를 사용하여 작성
    • Boolean 값은 True/False, On/Off, Yes/No 등으로 작성 가능
    • 주석은 # 사용
  • Array / Lists
      • 혹은 [ ] 사용
    • 요소들의 순서가 중요함
  • Dictionary / Map
    • 계층 구조를 표현하고 싶은 경우, 2칸 혹은 4칸의 들여쓰기 사용
    • 요소들의 순서가 중요하지 않음
  • Multi-lines 줄바꿈
    • \n : 기본값
    • : 한 줄을 모두 비웠을 때만 줄바꿈으로 인식하고, 그냥 줄바꿈을 할 때는 공백문자로 인식함
    • | : 모든 줄바꿈을 인식하며, 마지막 문장의 끝도 줄바꿈으로 인식함

JSON


  • JavaScript Object Notation
  • 데이터 교환을 위해 만들어진 객체 형태의 포맷
  • 메시지 객체를 전송하기 위한 조건
    • 수신자와 발신자가 같은 프로그램을 사용한다
    • 문자열처럼 범용적으로 읽을 수 있다
  • 객체는 타입 변환을 이용해 String으로 변환할 경우, 객체 내용을 포함하지 않음
    • JavaScript에서 메소드(message.toString)나 형변환(String(message))을 시도하면, object로 리턴함
  • 이를 해결하기 위해 객체를 JSON 형태로 변환하거나, JSON을 객체의 형태로 변환해야 함
    • JSON.stringify : Object type을 JSON으로 변환함(직렬화)
    • JSON.parse : JSON을 Object type으로 변환함(역직렬화)
  자바스크립트 객체 JSON
키는 따옴표 없이 쓸 수 있음 반드시 큰따옴표를 붙여야 함
문자열 값 문자열 값은 어떠한 형태의 따옴표도 사용 가능 반드시 큰따옴표로 감싸야 함