TOML에서 YAML 형식으로 변환 — Numio
TOML 문서를 YAML로 변환합니다. 테이블은 중첩 매핑, [[array of tables]]는 매핑 목록이 되며, 따옴표는 YAML에 필요한 곳에만 붙습니다(예: "2021"은 문자열로 유지).
TOML 설정(Cargo, pyproject, Hugo)의 내용을 CI 워크플로나 Kubernetes 매니페스트 같은 YAML 기반 도구로 옮길 때.
TOML
YAML
이럴 때 사용하세요
- TOML 설정(Cargo, pyproject, Hugo)의 내용을 CI 워크플로나 Kubernetes 매니페스트 같은 YAML 기반 도구로 옮길 때.
- 점 표기 키와 중첩 테이블이 있는 긴 TOML 파일을 들여쓰기된 트리로 읽을 때.
사용 방법
- TOML 문서를 왼쪽 편집기에 붙여 넣거나, 파일 불러오기 버튼으로 UTF-8 파일을 엽니다.
- 오류가 나오면 표시된 줄과 열로 중복 키나 문법 문제를 찾습니다.
- YAML의 날짜·시간과 따옴표로 감싼 값을 확인한 뒤 복사합니다.
TOML
# Cargo-style manifest
[package]
name = "demo"
version = "0.1.0"
edition = "2021"
[dependencies]
serde = { version = "1.0", features = ["derive"] }
[[bin]]
name = "cli"
path = "src/main.rs"YAML
package:
name: demo
version: 0.1.0
edition: "2021"
dependencies:
serde:
version: "1.0"
features:
- derive
bin:
- name: cli
path: src/main.rs세부 정보 및 제한 사항
주석은 삭제됩니다. 오프셋이 있는 날짜·시간은 UTC로 변환되고(2024-01-05T10:00:00+09:00은 2024-01-05T01:00:00.000Z) 밀리초가 붙습니다.
출력은 YAML 1.2를 따르므로 yes, on 같은 문자열은 따옴표 없이 기록됩니다. YAML 1.1 파서(예: PyYAML)는 이를 불리언으로 읽을 수 있으니 필요하면 직접 따옴표를 붙이세요.
09:00:00 같은 로컬 시간은 밀리초를 붙여(09:00:00.000) 기록되며, 로컬 날짜와 날짜·시간에는 시간대가 붙지 않습니다.
브라우저에서 실행됩니다(@iarna/toml, yaml, Prettier). inf와 nan은 .inf와 .nan이 됩니다.
FAQ
주석이 유지되나요?
아니요. TOML을 먼저 데이터로 파싱하므로 주석과 빈 줄은 사라집니다. 중요한 주석은 직접 옮기세요.
[[array of tables]]는 어떻게 변환되나요?
예시처럼 각 [[bin]] 블록이 bin 아래 YAML 목록의 항목 하나가 됩니다.
"Can't redefine existing key"가 나오는 이유는 무엇인가요?
같은 키나 테이블이 두 번 정의되었는데, TOML은 이를 금지합니다. 오류에 두 번째 정의의 줄과 열이 표시됩니다.