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에 따라 라이센스가 부여됩니다.