Tools

JSON → TOML

JSON 데이터를 TOML 형식으로 변환합니다.

JSON
Ln:1 Col:1
TOML

JSON to TOML 변환이란

TOML(Tom's Obvious, Minimal Language)은 Rust의 Cargo, Python의 pyproject.toml, Hugo 정적 사이트 생성기 등 많은 현대 도구에서 사용되는 인기 있는 설정 형식입니다. JSON을 TOML로 변환하는 것은 새 프로젝트를 설정하거나, 설정 파일을 마이그레이션하거나, JSON의 엄격한 형식보다 주석이 있는 TOML의 읽기 쉬운 문법을 선호할 때 유용합니다.

JSON → TOML 매핑

JSON 객체는 [section] 헤더가 있는 TOML 테이블이 됩니다. 최상위 문자열, 숫자, 불리언 값은 간단한 키-값 쌍으로 작성됩니다. 프리미티브의 JSON 배열은 TOML 배열이 됩니다. 객체의 JSON 배열은 TOML 테이블 배열([[section]])이 됩니다. 중첩 객체는 [parent.child]와 같은 점 표기 섹션 헤더를 생성합니다.

중요한 차이점: TOML은 JSON이 지원하지 않는 주석(# 주석)을 지원합니다. TOML에는 null 타입이 없으므로 JSON null 값은 빈 문자열로 변환됩니다. TOML은 날짜/시간 타입을 네이티브로 지원하지만, 문자열로 저장된 JSON 날짜는 따옴표 문자열로 유지됩니다.

자주 묻는 질문

JSON null은 TOML에서 어떻게 처리되나요?
TOML에는 null 타입이 없습니다. JSON null 값은 빈 문자열("")로 변환됩니다. 값의 부재를 표현해야 한다면 TOML 출력에서 해당 키를 완전히 제거하는 것을 고려하세요.
모든 JSON 구조를 TOML로 표현할 수 있나요?
대부분의 JSON 구조는 깔끔하게 변환됩니다. 다만 TOML은 최상위 값이 테이블(객체)이어야 합니다. 루트 레벨의 JSON 배열이나 프리미티브 루트 값은 TOML로 직접 표현할 수 없습니다.
중첩된 JSON 객체는 어떻게 처리되나요?
중첩 객체는 점 표기 헤더가 있는 TOML 섹션이 됩니다. 예를 들어 {"servers": {"alpha": {"ip": "10.0.0.1"}}}은 [servers.alpha] 아래에 ip = "10.0.0.1"이 됩니다.