YAML 기본 문법 입문
                                            
 33435 단어  YAML
                    
들 여 쓰기 에 대해 YAML 은 세 가지 요구 만 있 습 니 다.
1 、 스페이스 바 만 사용 가능
2. 동급 정렬
3. 키 값 은 콜론 + 스페이스 바 로 나 뉜 다.
주석 사용 \ # 한 줄 주석, YAML 은 여러 줄 주석 을 지원 하지 않 습 니 다.
예 를 들 면:
YAML:
#    
a: b
c:
  - c1
  - c2
d: 
  key1: value1
  key2: value2
--- 
#     ,            
c:
  - c1
  -             c2
d: 
  key1:       value1
  key2:              value2
JSON:
//    
{
  "a": "b",
  "c": [
    "c1",
    "c2"
  ],
  "d": {
    "key1": "value1",
    "key2": "value2"
  }
}
//     ,            
{
  "c": [
    "c1",
    "c2"
  ],
  "d": {
    "key1": "value1",
    "key2": "value2"
  }
}
2. 키 쌍, 대상, map, list
YMAL:
a: value1           #   
b:                  #  
  name: Name
  age: 12
map:                #map
  key1: value1
  key2: value2
list:               #    
  - 12
  - 13
  - 14
objectlist:         #    
  -
    name: name1
    age: 12
  -
    name: name2
    age: 13
    
?                  #    ,  key     ,     ,       
    - key1
    - key2
:
    - value1
    - value2
JSON:
{
  "a": "value1",
  "b": {
    "name": "Name",
    "age": 12
  },
  "map": {
    "key1": "value1",
    "key2": "value2"
  },
  "list": [
    12,
    13,
    14
  ],
  "objectlist": [
    {
      "name": "name1",
      "age": 12
    },
    {
      "name": "name2",
      "age": 13
    }
  ],
  "[\"key1\", \"key2\"]": [
    "value1",
    "value2"
  ]
}
YAML 에 서 는 스 트림 (flow) 문법 표시 대상 도 지원 합 니 다. 예 를 들 어 위의 예 는 다음 과 같 습 니 다.
a: value1                                  #   
b: {name: Name,age: 12}                    #   
map: {key1: value1,key2: value2}           #map 
list: [12,13,14]                           #    
objectlist: [{name: name1,age: 12},{name: name2,age: 13}] #       
[key1,key2] : [value1,value2]              #    ,  key     ,     ,       
JSON:
{
  "a": "value1",
  "b": {
    "name": "Name",
    "age": 12
  },
  "map": {
    "key1": "value1",
    "key2": "value2"
  },
  "list": [
    12,
    13,
    14
  ],
  "objectlist": [
    {
      "name": "name1",
      "age": 12
    },
    {
      "name": "name2",
      "age": 13
    }
  ],
  "[\"key1\", \"key2\"]": [
    "value1",
    "value2"
  ]
}
3. 기본 상수 의 표현 방법
YAML 문법 에서 기본 상수 를 어떻게 표시 하 는 지 다음 에 예 를 들 어 설명 하 겠 습 니 다.
#   
int:
    - 123
    - 0b1010_0111_0100_1010_1110    #     
canonical: 12345
decimal: +12,345
sexagecimal: 3:25:45
octal: 014
hexadecimal: 0xC
#   
float:
    - 3.14
    - 6.8523015e+5  #         
canonical: 1.23015e+3
exponential: 12.3015e+02
sexagecimal: 20:30.15
fixed: 1,230.15
boolean: 
    - TRUE  #true,True   
    - FALSE  #false,False   
nullObj:
    nodeName: 'node'
    parent: ~  #  ~  null
string:
    - Hello world
    - 'Hello world'  #                  
    - newline
      newline2    #         ,            
date:
    - 2019-11-16    #      ISO 8601  , yyyy-MM-dd
datetime: 
    -  2019-11-16T05:42:31+08:00    #    ISO 8601  ,         T  ,    +    
JSON
{
  "int": [
    123,
    685230
  ],
  "canonical": 1230.15,
  "decimal": 12345,
  "sexagecimal": 73809.0,
  "octal": 12,
  "hexadecimal": 12,
  "float": [
    3.14,
    685230.15
  ],
  "exponential": 1230.15,
  "fixed": 1230.15,
  "boolean": [
    true,
    false
  ],
  "nullObj": {
    "nodeName": "node",
    "parent": null
  },
  "string": [
    "Hello world",
    "Hello world",
    "newline newline2"
  ],
  "date": [
    "2019-11-16"
  ],
  "datetime": [
    "2019-11-15 16:42:31 -0500"
  ]
}
특수 기호
1. - 그리고...
YAML 에서 - 와... 문서 의 시작 과 끝 을 나타 내 는 것 은 한 파일 을 여러 파일 로 사용 할 수 있 는 것 과 같 습 니 다.
server:
  port: 8080
spring:
  profiles:
    active: dev
---
server:
  port: 8081
spring:
  profiles: dev
...
---
server:
  port: 8082
spring:
  profiles: prod
...
일반적인 상황 에 서 는... 생략 하 셔 도 됩 니 다.
server:
  port: 8080
spring:
  profiles:
    active: dev
---
server:
  port: 8081
spring:
  profiles: dev
---
server:
  port: 8082
spring:
  profiles: prod
사용 해 야 한 다 는 것 을 기억 하 라.........................................................
2. "" 와 "의 사용
이것 은 문자열 에서 사용 하 는 것 과 차이 가 있 습 니 다.
작은 따옴표 는 문자 가 전 달 된 특수 문 자 를 번역 하지만 작은 따옴표 는 번역 하지 않 습 니 다.
YMAL
DoubleQuotes: "   
"
Apostrophe: '   
'
JSON
{
  "DoubleQuotes": "   
",
  "Apostrophe": "   \
"
}
3、!!
YAML 에서!!에서
YAML
number1: 1234
number2: !!str 1234
JSON
{
  "number1": 1234,
  "number2": "1234"
}
4. > 와 |
기호 > 문자열 접 기 를 표시 합 니 다. 아래 같은 등급 의 문자열 은 한 줄 을 표시 하고 문자열 을 유지 합 니 다.
기호 | 문자열 의 줄 바 꿈 을 표시 합 니 다. 줄 마다 줄 바 꿈 자 를 저장 합 니 다.
YAML
string1: >
     
     
string2: |
     
     
#             
JSON
{
  "string1": "       
",
  "string2": "   
   
"
}
5. &, * 와 < 기호의 사용
닻 점
도입
& lt; & gt; 합병 표시
YAML
AnchorPoint: &AP {X: 1,Y: 2,Z: 3} #    ,    AP=AnchorPoint
example:
  a: 1
  Introduce: *AP         #    ,    Introduce=AP
  <<: *AP                #    ,    example.push(AP)
JSON
{
  "AnchorPoint": {
    "X": 1,
    "Y": 2,
    "Z": 3
  },
  "example": {
    "a": 1,
    "Introduce": {
      "X": 1,
      "Y": 2,
      "Z": 3
    },
    "X": 1,
    "Y": 2,
    "Z": 3
  }
}
이상 은 YAML 의 기본 문법 을 소 개 했 습 니 다. 이런 기본 적 인 개발 과정 에서 사용 할 수 있 습 니 다. 설정 중의 다른 조작 만 플랫폼 이 제공 하 는 도 구 를 바탕 으로 사용 할 수 있 습 니 다. 여 기 는 소개 하지 않 겠 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
【CircleCI】 약간의 차이가 큰 차이 ~ 「No configuration was found in your project.」를 만난 이야기 ~CircleCI를 도입하려고 프로젝트에 '.circleci'디렉토리와 'config.yaml'을 추가하여 연계된 GitHub 리포지토리에 push했지만 다음과 같은 오류가 발생했습니다. 오류 메시지를 읽으려면 "프로...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.