YAML을 JSON으로: 의도한 줄바꿈을 유지하세요
파이프, 꺾쇠, 빼기 기호는 서로 다른 문자열을 만듭니다. 다섯 가지 작은 예시로 그 이유를 보여드립니다.
YAML 문단은 편집기에서 두 줄로 보일 수 있지만 JSON에서는 한 줄이 될 수 있습니다. 키 뒤의 문자가 줄바꿈이 어떻게 읽히는지를 결정하며, 빼기 기호는 마지막 줄바꿈이 유지되는지 여부를 결정합니다.
CSV, JSON & YAML 변환기를 열고 이 예제를 붙여넣은 다음 원본에서 YAML을, 대상에서 JSON을 선택하세요:
literal: |
Ready to share.
Check the link.
folded: >
Ready to share.
Check the link.
literal_strip: |-
Ready to share.
Check the link.
folded_strip: >-
Ready to share.
Check the link.
출력을 읽고 텍스트를 변경하기 전에 확인하세요
변환기는 다음 네 개의 문자열을 생성합니다:
{
"literal": "Ready to share.\nCheck the link.\n",
"folded": "Ready to share. Check the link.\n",
"literal_strip": "Ready to share.\nCheck the link.",
"folded_strip": "Ready to share. Check the link."
}
JSON 소스에서 \n는 문자열 내부의 줄바꿈을 나타냅니다. JSON을 파싱한 후 독자가 보게 될 추가 백슬래시가 아닙니다. 따옴표 밖의 들여쓰기는 JSON을 읽기 쉽게 만들 뿐이며 문자열을 변경하지 않습니다.
두 줄짜리 캡션의 경우 세 번째 버전이 유용한 경우가 많습니다. 구성 파일에서 한 문장이 두 줄로 줄바꿈되는 경우 네 번째 버전은 마지막 줄바꿈 없이 문장을 유지합니다.
블록 스타일과 끝맺음 규칙을 별도로 선택하세요
| YAML 표시 | 일반 텍스트 줄 사이 | 이 샘플의 끝에서 |
|---|---|---|
| |
줄바꿈 유지 | 마지막 줄바꿈 하나 유지 |
> |
줄바꿈을 공백으로 접기 | 마지막 줄바꿈 하나 유지 |
|- |
줄바꿈 유지 | 마지막 줄바꿈 제거 |
>- |
줄바꿈을 공백으로 접기 | 마지막 줄바꿈 제거 |
이 규칙은 이 샘플과 같은 비어 있지 않은 블록을 설명합니다. YAML은 끝맺음 규칙을 "chomping"이라고 부릅니다. 블록 스칼라 사양은 또한 끝의 빈 줄을 유지하기 위한 더하기 기호를 정의합니다.
접기는 모든 줄바꿈을 지우지 않습니다. 빈 줄과 더 들여쓰기된 줄은 별도의 규칙이 있습니다. 공백이 중요한 메시지, 프롬프트 또는 셸 명령을 변환하기 전에 작은 테스트를 사용하세요.
빈 줄은 여전히 문단을 구분합니다
이 예제는 접힌 텍스트를 사용하지만 빈 줄을 포함합니다:
paragraphs: >-
First paragraph.
Second paragraph.
변환된 값은 다음과 같습니다:
{
"paragraphs": "First paragraph.\nSecond paragraph."
}
두 문단 사이에는 줄바꿈 하나가 있으며, 공백도 두 줄바꿈도 아닙니다. 정확한 빈 줄이 필요하면 리터럴 블록을 사용하고 결과 문자열을 확인하세요.
블록의 내용을 키 아래에 공백으로 들여쓰세요. 줄을 왼쪽으로 이동하면 블록이 끝나거나 문서가 유효하지 않게 될 수 있습니다. 손상된 문서는 모든 공백을 제거하여 "수정"하는 대신 소스에서 수정해야 합니다.
주석이 중요하다면 YAML을 유지하세요
전체 YAML 샘플과 변환된 JSON을 다운로드하세요. 샘플에는 위의 다섯 가지 경우가 모두 포함되어 있습니다.
변환은 해석된 값을 보존하며 YAML의 원래 표현은 보존하지 않습니다. 주석, 블록 스타일 표시 및 별칭 표기법은 JSON에 보존되지 않습니다. 구성을 다시 편집할 예정이라면 원본 YAML을 유지하세요. 다시 변환해도 이러한 세부 사항은 복원되지 않습니다.
2026년 10월 12일에 다운로드 가능한 파일을 도구의 변환 기능으로 실행하고 마지막 줄바꿈을 포함한 모든 문자열을 확인했습니다. 결과 파일은 예상 값과 다운로드 해시를 기록합니다. 도구는 브라우저에서 로컬로 변환되지만, 구성을 다른 사람과 공유할 때는 여전히 정리된 샘플을 사용해야 합니다.