YAML-문자 스트림

YAML에서는 다음과 같이 다양한 문자 스트림을 보게됩니다.

  • Directives
  • 문서 경계 마커
  • Documents
  • 완전한 스트림

이 장에서는 이에 대해 자세히 설명합니다.

지시어

지시문은 YAML 프로세서에서 사용되는 기본 명령입니다. 지시문은 직렬화 트리에 반영되지 않는 주석과 같은 프리젠 테이션 세부 사항입니다. YAML에서는 개인 지시문을 정의하는 방법이 없습니다. 이 섹션에서는 관련 예제와 함께 다양한 유형의 지시문에 대해 설명합니다.

예약 된 지시문

예약 된 지시문은 아래 예와 같이 세 개의 하이픈 문자 (---)로 초기화됩니다. 예약 된 지시문은 JSON의 특정 값으로 변환됩니다.

%YAML 1.1
--- !!str
"foo"

YAML 지시어

YAML 지시문은 기본 지시문입니다. JSON으로 변환 된 경우 가져온 값에는 앞뒤 문자에 슬래시 문자가 포함됩니다.

%YAML 1.1
---
!!str "foo"

문서 경계 마커

YAML은 이러한 마커를 사용하여 하나 이상의 문서가 하나의 스트림에 포함될 수 있도록합니다. 이 마커는 YAML 문서의 구조를 전달하는 데 특별히 사용됩니다. "---"로 시작하는 줄은 새 문서를 시작하는 데 사용됩니다.

다음 코드는 이에 대해 예제로 설명합니다.

%YAML 1.1
---
!!str "foo"
%YAML 1.1
---
!!str "bar"
%YAML 1.1
---
!!str "baz"

서류

YAML 문서는 단일 루트 노드로 표시되는 단일 기본 데이터 구조로 간주됩니다. 지시문, 주석, 들여 쓰기 및 스타일과 같은 YAML 문서의 프리젠 테이션 세부 사항은 포함 된 컨텐츠로 간주되지 않습니다.

YAML에는 두 가지 유형의 문서가 사용됩니다. 이 섹션에서 설명합니다.

노골적인 문서

문서 시작 마커로 시작하여 루트 노드가 표시됩니다. YAML 명시 적 선언의 예는 다음과 같습니다.

---

some: yaml

...

여기에는 주어진 예에서 "---"및 "…"인 명시적인 시작 및 끝 마커가 포함됩니다. 지정된 YAML을 JSON 형식으로 변환하면 아래와 같은 출력이 표시됩니다.

{
   "some": "yaml"
}

암시 적 문서

이러한 문서는 문서 시작 마커로 시작하지 않습니다. 아래 주어진 코드를 관찰하십시오-

fruits:
   - Apple
   - Orange
   - Pineapple
   - Mango

이러한 값을 JSON 형식으로 변환하면 아래와 같이 간단한 JSON 객체로 출력을 얻습니다.

{
   "fruits": [
      "Apple",
      "Orange",
      "Pineapple",
      "Mango"
   ]
}

완전한 스트림

YAML에는 문자 스트림이라고하는 일련의 바이트가 포함됩니다. 스트림은 문자 인코딩을 나타내는 바이트 순서를 포함하는 접두사로 시작합니다. 전체 스트림은 문자 인코딩이 포함 된 접두사로 시작하고 주석이 이어집니다.

완전한 스트림 (문자 스트림)의 예는 다음과 같습니다.

%YAML 1.1
---
!!str "Text content\n"