무료 변환기

YAML JSON 변환기

빠르고 안전한 YAML을 JSON으로 변환합니다. 구성 파일 및 데이터 분석에 적합합니다.

또는

이 도구에 대하여

YAML과 JSON은 밀접하게 관련된 형식입니다. JSON은 기술적으로 YAML 1.2의 엄격한 하위 집합이며 둘 사이의 변환은 일반적으로 간단합니다. YAML은 주석, 이스케이프가 없는 여러 줄 문자열, 앵커 및 별칭 참조, 보다 유연한 인용, 자연스러운 문서 레이아웃과 유사한 들여쓰기 기반 구조 등 JSON에 없는 인간 친화적인 기능을 추가합니다. 이로 인해 YAML은 구성 파일(Kubernetes 매니페스트, GitHub Actions 워크플로, Docker Compose)에 널리 사용되는 반면 JSON은 API 페이로드를 지배합니다.

YAML을 JSON으로 변환한다는 것은 일반적으로 기계가 더 쉽게 구문 분석할 수 있는 형식, 즉 HTTP API의 공용어인 형식으로 교환하여 YAML의 인간 친화적인 추가 기능을 포기하는 것을 의미합니다. 댓글이 삭제됩니다(JSON에는 댓글이 없습니다). 앵커 참조는 참조 값으로 확인됩니다. 여러 줄 문자열은 줄 바꿈이 포함된 표준 JSON 문자열로 축소됩니다.

이 변환기는 JavaScript에서 가장 널리 사용되는 YAML 라이브러리인 js-yaml을 사용하여 YAML을 구문 분석합니다. 출력은 선택적 들여쓰기와 함께 JSON.stringify를 사용하여 생성됩니다. 변환은 흐름 스타일, 블록 스타일, 스칼라, 시퀀스, 매핑, 앵커, 별칭 및 표준 태그 유형을 포함한 모든 표준 YAML 1.2 구문을 처리합니다.

YAML을 JSON으로 변환하는 이유

대부분의 API와 많은 프로그래밍 환경에서는 JSON을 기대합니다. YAML로 작성된 구성 파일은 JSON만 허용하는 코드나 서비스와 통합할 때 JSON으로 변환해야 합니다. JSON을 위한 도구도 더욱 풍부해졌습니다. jq, JSON 경로, JSON 스키마, 광범위한 유효성 검사기 및 변환기 생태계는 모두 JSON 입력을 가정합니다.

JSON은 YAML과 달리 모호하지 않습니다. YAML의 유연성은 YAML 1.1에서 'no'와 같은 문자열을 부울 false로 구문 분석하고, 버전 문자열을 부동 소수점으로 구문 분석하고, 들여쓰기 오류로 인해 자동 구조 변경이 발생하는 등 구문 분석에 놀라움을 선사합니다. JSON으로 변환하면 데이터가 덜 모호한 형식으로 고정됩니다.

사용 방법

YAML을 붙여넣고 JSON을 가져옵니다.

  1. YAML 추가: YAML 텍스트를 입력 영역에 붙여넣거나 .yml/.yaml 파일을 놓습니다. js-yaml은 전체 YAML 1.2 구문을 허용합니다.
  2. 변환: js-yaml은 YAML을 JavaScript 객체로 구문 분석하고 JSON.stringify는 두 공백 들여쓰기로 직렬화합니다. 주석이 삭제되고 앵커가 해결되며 특수 YAML 유형(타임스탬프, 바이너리 데이터)이 JSON 호환 표현으로 변환됩니다.
  3. 결과 검토: JSON 구조가 예상한 것과 일치하는지 확인하세요. 소스 YAML과 비교하여 YAML의 느슨한 유형 지정으로 인해 예상치 못한 JSON 값이 생성된 위치를 찾아보세요.
  4. 다운로드 또는 복사: .json으로 저장하거나 클립보드에 복사하세요. 출력은 모든 JSON 파서에서 사용할 수 있는 유효한 JSON입니다.

일반적인 사용 사례

기술적인 세부사항

js-yaml은 YAML 1.1 문제('no'-as-false 문제, 0o 접두사가 없는 8진수)에 대한 선택적 지원을 통해 YAML 1.2를 구현합니다. 파서는 숫자, 문자열, 부울, null, 배열 및 일반 객체와 같은 기본 유형을 사용하여 JavaScript 객체 트리를 생성합니다.

JSON.stringify는 객체 트리를 JSON으로 직렬화합니다. 선택적 들여쓰기는 보기 좋게 인쇄된 출력을 생성합니다. 그것이 없으면 결과는 컴팩트한 한 줄 JSON입니다. 특수 값(NaN, Infinity, 정의되지 않음)은 유효한 JSON이 아닙니다. 변환기는 존재하는 경우 이를 null로 강제 변환합니다.

극단적인 경우: YAML 타임스탬프는 JSON에서 ISO-8601 문자열이 됩니다. YAML 바이너리 데이터(base64로 인코딩됨)는 문자열이 됩니다. JSON에는 참조 구문이 없으므로 앵커와 별칭은 JSON에서 중복 값으로 확인됩니다.

모범 사례

자주 묻는 질문

YAML을 JSON으로 변환하면 콘텐츠가 변경되나요?
내용은 최대한 정확하게 보존됩니다. 그러나 일부 형식별 기능에는 직접적인 상응 기능이 없을 수 있으므로 사소한 형식 차이가 발생할 수 있습니다.
데이터를 JSON 형식으로 변환하는 이유는 무엇입니까?
JSON은 웹 API 및 JavaScript 애플리케이션의 표준 데이터 형식입니다. 이는 사람이 읽을 수 있고 프로그래밍 언어에서 널리 지원되며 XML보다 구문이 더 간단합니다.
변환기가 중첩되거나 복잡한 YAML 구조를 처리합니까?
예. 이 도구는 중첩된 개체, 배열 및 모든 표준 YAML 데이터 유형을 올바르게 구문 분석하여 JSON 출력에서 ​​전체 데이터 구조를 유지합니다.
이 변환은 안전하고 비공개인가요?
예. 모든 처리는 귀하의 브라우저에서 로컬로 이루어집니다. 귀하의 데이터는 귀하의 장치를 떠나지 않습니다. 서버 업로드, 클라우드 처리, 데이터 수집이 없습니다.
내 YAML이 원활하게 왕복됩니까?
JSON을 YAML로 다시 내보내면 구조적으로 그렇습니다. 주석과 앵커 구조가 손실됩니다. 원시 값은 보존됩니다.
내 데이터가 서버에 업로드되나요?
아니요. js-yaml은 브라우저에서 실행됩니다.
최대 크기는 얼마입니까?
최대 50MB. js-yaml은 일반적인 구성 파일을 즉시 처리합니다. 매우 큰 YAML은 구문 분석하는 데 상당한 시간이 걸릴 수 있습니다.
다중 문서 YAML을 지원합니까?
YAML은 ---로 구분된 하나의 파일에 여러 문서를 지원합니다. 변환기는 기본적으로 첫 번째 문서를 처리합니다. 다중 문서를 처리하려면 먼저 YAML을 분할하세요.