Oh MyUtils

JSON ↔ YAML 변환기 - 양방향 변환 온라인

JSON과 YAML 형식 간 실시간 검증과 함께 즉시 변환. Kubernetes 설정, Docker Compose, CI/CD 파이프라인에 적합.

변환 방향
들여쓰기
키 정렬
입력 (JSON)
출력 (YAML)
 

자주 묻는 질문

JSON-YAML 변환기란 무엇인가요?

JSON-YAML 변환기는 JSON(JavaScript Object Notation)과 YAML(YAML Ain't Markup Language) 형식 간에 데이터를 변환하는 도구입니다. JSON은 중괄호, 대괄호, 큰따옴표로 구조를 표현하고, YAML은 들여쓰기와 최소한의 구두점으로 더 읽기 쉬운 형식을 제공합니다. 두 형식 모두 동일한 데이터 구조(객체/매핑, 배열/시퀀스, 스칼라 값)를 표현하므로 손실 없는 양방향 변환이 가능합니다. 개발자들은 API(JSON 사용)와 설정 파일(YAML 사용) 작업 시 자주 이 형식 간 변환이 필요합니다.

이 JSON-YAML 변환기는 어떻게 사용하나요?

1. 탭을 사용하여 변환 방향을 선택하세요: JSON → YAML 또는 YAML → JSON. 2. 입력 영역(데스크톱에서는 왼쪽 패널, 모바일에서는 상단 패널)에 데이터를 붙여넣으세요. 3. 입력하는 대로 실시간으로 자동 변환됩니다(자동 변환이 비활성화된 경우 변환 버튼을 클릭). 4. 출력 영역에서 변환된 결과를 확인하세요. 5. 필요에 따라 포맷 옵션(들여쓰기, 키 정렬)을 조정하세요. 6. 복사 버튼을 클릭하여 결과를 클립보드에 복사하세요. 7. 선택적으로 다운로드를 사용하여 출력을 파일(.json 또는 .yaml)로 저장할 수 있습니다. 8. 교체 버튼을 사용하여 현재 데이터로 빠르게 방향을 전환할 수 있습니다.

제 데이터는 안전한가요? 서버로 전송되나요?

데이터는 100% 안전하며 브라우저를 벗어나지 않습니다. 이 변환기는 클라이언트 측 JavaScript에서 완전히 실행되는 js-yaml 라이브러리를 사용합니다. 데이터가 서버로 전송되거나, 데이터베이스에 저장되거나, 어디에도 기록되지 않습니다. 모든 파싱, 검증, 변환이 사용자의 기기에서 로컬로 이루어집니다. 인터넷 연결을 끊어도 확인할 수 있습니다 — 초기 페이지 로드 후에는 완전히 오프라인으로 작동합니다. 이로 인해 민감한 설정 파일, API 키, 자격 증명을 변환하는 데 안전합니다.

변환 시 YAML 주석은 어떻게 되나요?

YAML 주석(#으로 시작하는 줄)은 YAML을 JSON으로 변환할 때 손실됩니다. 이는 JSON이 주석을 지원하지 않기 때문이며, 이 도구의 제한이 아닌 JSON 형식의 근본적인 한계입니다. YAML을 JSON으로 변환한 후 다시 YAML로 변환하면 주석은 보존되지 않습니다. 따라서 중요한 주석이 포함된 원본 YAML 파일은 백업을 보관하시기 바랍니다. 데이터 값 자체는 변환 중 항상 정확하게 보존됩니다.

어떤 YAML 기능이 지원되나요?

이 변환기는 YAML 1.2 사양을 지원하며, 매핑(객체), 시퀀스(배열), 스칼라 값(문자열, 정수, 실수, 불리언, null), 여러 줄 문자열(리터럴 | 및 접힌 > 블록 스칼라), 임의 깊이의 중첩 구조, 인용 문자열을 포함합니다. 기본 앵커(&)와 별칭(*) 해석이 지원됩니다. 그러나 커스텀 태그(!!)와 복잡한 병합 키 같은 일부 고급 YAML 기능은 제한적으로 지원될 수 있습니다. 변환기는 JSON 동등물이 있는 모든 데이터 유형을 처리합니다.

YAML에서 JSON으로 변환이 실패하는 이유는 무엇인가요?

YAML 파싱 오류의 일반적인 원인에는 잘못된 들여쓰기(YAML은 공백에 민감하며 일관된 간격 필요), 탭과 공백의 혼용(YAML은 공백만 사용해야 함), 문자열에서 인용되지 않은 특수 문자(YAML이 구조로 해석하는 콜론, 대괄호, 중괄호), 매핑에서의 중복 키, 잘못된 여러 줄 문자열 표시기가 포함됩니다. 오류 메시지는 문제가 감지된 정확한 줄과 열을 표시하여 문제를 해결하는 데 도움을 줍니다.

JSON과 YAML의 차이점은 무엇인가요?

JSON과 YAML 모두 구조화된 데이터를 표현하지만 구문과 사용 사례가 다릅니다. JSON은 객체에 중괄호 {}, 배열에 대괄호 []를 사용하며, 큰따옴표로 키를 감싸야 하고 주석을 지원하지 않습니다. YAML은 구조에 들여쓰기를 사용하고, 대부분의 문자열에 따옴표가 필요하지 않으며, #으로 주석을 지원하고 여러 줄 문자열과 앵커 같은 추가 기능이 있습니다. JSON은 API, 웹 서비스, 프로그래밍 데이터 교환에서 더 일반적입니다. YAML은 사람이 읽기 쉬움이 우선시되는 설정 파일(Kubernetes, Docker Compose, CI/CD 파이프라인)에서 더 일반적입니다.

코드 예제

// JSON to YAML conversion using js-yaml library
// Install: npm install js-yaml
const yaml = require('js-yaml');

function jsonToYaml(jsonString, options = {}) {
  const { indent = 2, sortKeys = false } = options;
  try {
    const parsed = JSON.parse(jsonString);
    return yaml.dump(parsed, { indent, sortKeys, lineWidth: -1 });
  } catch (error) {
    return `Error: ${error.message}`;
  }
}

function yamlToJson(yamlString, options = {}) {
  const { indent = 2, sortKeys = false } = options;
  try {
    const parsed = yaml.load(yamlString);
    return JSON.stringify(parsed, null, indent);
  } catch (error) {
    return `Error: ${error.message}`;
  }
}

// Example
const json = '{"name": "app", "version": "1.0", "debug": true}';
console.log(jsonToYaml(json));
// name: app
// version: '1.0'
// debug: true

관련 도구