구조화 데이터 변환기

브라우저에서 YAML, JSON, TOML을 로컬로 변환해요. 다중 문서 YAML 지원과 앵커 해석을 제공해요.

설정 데이터는 브라우저에 남아요. 업로드도, API 호출도, 백엔드 파싱도 없어요.

변환기

다중 문서 YAML을 지원하고, 앵커는 변환 전에 로컬에서 해석돼요.

원본

0 / 1,048,576 octets

변환 결과

구조화 데이터 변환기을(를) 테스트했어요 — 다음엔 JSON 포매터 & 검증기 시도해 보세요 →

구조화 데이터 변환기란?

YAML, JSON, TOML은 각각 다른 에코시스템에서 표준이 된 이유는 다른 것을 우선하기 때문입니다. JSON(ECMA-404)은 엄격하고 머신 친화적이며 네트워크상 어디나 있습니다——REST API, GraphQL 응답, npm package.json, tsconfig.json. YAML(사양 1.2.2)은 앵커, 별칭, 다중 문서 스트림, 유의미한 들여쓰기가 있는 인간 친화적입니다——Kubernetes 매니페스트, GitHub Actions 워크플로우, Ansible 플레이북, Docker Compose. TOML(사양 1.0.0)은 명시적 유형 우선입니다——Rust Cargo.toml, Python pyproject.toml. 클래식 변환 함정: YAML 1.1의 노르웨이 문제NO, no, false, off 및 국가 코드 NO를 부울값 false로 취급합니다(Kubernetes 1.16부터 이를 수정하는 YAML 1.2를 사용하지만 레거시 파서는 여전히 문제가 있습니다); YAML의 암시적 날짜 캐스팅은 2024-01-15를 Date 객체로 변환합니다——문자열로 유지하려면 따옴표로 감싸세요. TOML은 datetime(2024-01-15T10:30:00Z), local-datetime, local-date, local-time을 별도의 일급 타입으로 구분합니다——JSON에는 이들이 없으며 왕복 변환 중 문자열로 축소됩니다. 변환기는 출력 전에 YAML 앵커를 해결하고 TOML의 타입이 있는 날짜를 JSON의 RFC 3339 문자열 / YAML의 따옴표 붙은 문자열로 직렬화합니다.

구조화 데이터 변환기 사용법

FromTo 형식을 선택합니다. 소스를 붙여넣거나 디스크에서 Import file하세요. 결과가 실시간으로 나타납니다. Swap 버튼은 From-To를 반전시키고 출력을 입력으로 이동합니다(왕복 테스트에 유용함——YAML -> JSON -> YAML은 주석 손실과 키 순서를 제외하고 idempotent이어야 함). ---로 구분된 다중 문서 YAML의 경우 변환기는 JSON 배열(문서당 1개 요소)을 내보내거나 반대 방향으로 다중 문서 YAML로 연결합니다. 앵커(&name)와 별칭(*name)은 변환 전에 해결됩니다——출력에는 확장된 값이 있으며 참조가 아닙니다. 오류 패널은 파싱이 실패한 줄과 열을 컨텍스트 윈도우와 함께 나열합니다: JSON의 누락된 ], YAML의 깨진 들여쓰기, TOML의 인용되지 않은 특수 문자가 가장 일반적인 3가지 문제입니다. .json, .yaml 또는 .toml로 다운로드하세요——파일 확장명이 대상 형식과 일치하므로 편집기에서 올바른 구문 강조를 적용할 수 있습니다.

설정 형식 변환이 중요한 이유

형식 선택은 의도를 나타냅니다. JSON은 와이어 형식과 명확한 파싱이 필요한 도구용입니다——각 {[는 정확히 한 가지입니다. YAML은 교차 참조가 있는 설정을 작성하는 인간용입니다(앵커는 서비스 간 환경 변수 블록 복사-붙여넣기를 피합니다). TOML은 명시적 타입 설정용이며 문자열과 날짜를 실수로 혼동하는 것은 허용되지 않습니다(Cargo.toml은 노르웨이 문제를 용인하지 않습니다). 프로젝트 마이그레이션 시 변환은 불일치를 드러냅니다: YAML 1.1 파서를 사용하는 country: NO를 가진 YAML 파일은 JSON country: false가 되어 다운스트림 시스템을 조용히 깨뜨립니다. JSON으로 변환된 TOML 날짜는 타입을 잃습니다——TOML로의 왕복은 문자열을 생성하여 datetime을 기대하는 설정 검증기를 깨뜨립니다. 변환기는 가능한 한 세 형식 모두에서 타입 정보를 유지하여 이를 해결하므로 입력 = 출력입니다——YAML과 TOML이 지원하지만 JSON은 지원하지 않는 주석을 제외하고.

자주 묻는 질문

다중 문서 YAML을 처리할 수 있나요?

네. 입력에 --- 로 구분된 여러 YAML 문서가 있으면 변환기가 함께 처리하고 JSON 배열이나 YAML 다중 문서 출력으로 내보낼 수 있어요.

다중 문서 YAML은 왜 TOML로 직접 변환이 안 되나요?

TOML은 단일 객체 문서에 가장 적합해요. 여러 YAML 문서를 붙여넣으면 먼저 JSON으로 변환하거나 TOML로 내보내기 전에 합치세요.

YAML 앵커와 별칭이 해석되나요?

네. 앵커와 별칭은 변환 결과 생성 전에 브라우저에서 해석돼요.