TOML에서 JSON으로 변환기
왜 TOML과 JSON 사이에서 변환해야 하나요?
TOML은 사람이 읽기 쉬운 구성 파일(Rust의 Cargo.toml, Python의 pyproject.toml, Hugo의 config.toml)을 위해 설계되었지만 JSON은 웹 API와 JavaScript 도구의 표준입니다. TOML 구성을 JSON API로 보내거나 JavaScript 도구와 통합하거나 다른 생태계 간에 데이터를 공유할 때 이 도구가 즉시 격차를 해소합니다.
완전한 유형 변환
TOML 문자열, 정수, 부동소수점, 불리언, 날짜 — 모두 JSON의 동등물로 올바르게 변환
테이블 및 테이블 배열
[테이블], [[테이블 배열]], 인라인 테이블 {key = value} 구문을 올바르게 처리
형식화된 JSON 출력
출력은 가독성을 위해 들여쓰기와 함께 표시 — 단일 행 압축 JSON이 아님
3단계로 TOML을 JSON으로 변환하는 방법
TOML 구성 붙여넣기
Cargo.toml, pyproject.toml, 또는 다른 TOML 구성 파일의 내용 붙여넣기
자동 변환
도구가 TOML 구조를 파싱하여 동등한 JSON으로 즉시 변환
JSON 복사
생성된 JSON을 API 호출이나 JSON을 받는 도구에 사용하기 위해 복사
TOML에서 JSON으로 변환 사용 사례
Cargo.toml 파싱
의존성을 파싱하거나 버전 정보를 추출하는 CI 스크립트를 위해 Cargo.toml을 JSON으로 변환
Hugo 구성
다른 도구나 데이터 소스와 통합을 위해 Hugo의 config.toml을 JSON으로 변환
API로 데이터 전송
TOML 형식의 매개변수를 REST API나 GraphQL 엔드포인트로 전송하기 위해 JSON으로 변환
형식 학습
두 형식의 관계를 이해하기 위해 TOML→JSON 구조 매핑 파악
TOML 모범 사례
✓ 중첩된 테이블에 점 표기법 사용
TOML은 중첩된 테이블의 약어로 [server.database]를 지원하여 중첩된 JSON 키보다 구성을 더 읽기 쉽게 만듭니다.
✓ 경로에 리터럴 문자열 사용
'C:\Users\path'와 같은 작은따옴표의 리터럴 문자열은 이스케이프 시퀀스를 처리하지 않습니다 — Windows 경로와 regex 패턴에 이상적입니다.
✓ 주석을 적극적으로 사용
JSON에 대한 TOML의 주요 장점은 주석 지원입니다. 유지보수성을 위해 모든 구성 매개변수를 # 주석으로 문서화하세요.
✓ DateTime 유형 변환에 주의
TOML의 네이티브 RFC 3339 날짜(2024-01-15T10:30:00Z)는 JSON에서 문자열이 됩니다. JSON을 사용하는 코드는 이것들을 날짜 유형으로 다시 파싱해야 합니다.
❓ 자주 묻는 질문
TOML의 YAML 및 JSON에 대한 장점은 무엇인가요?
TOML은 YAML보다 단순하고(들여쓰기 기반 구조 없음), JSON보다 읽기 쉬우며(주석 지원), 명시적인 유형이 있습니다(정수, 부동소수점, 날짜가 별개). 애플리케이션 구성 파일에서 가독성이 중요한 경우 가장 좋은 선택입니다.
TOML의 [[테이블 배열]]이란 무엇인가요?
[[servers]]는 'servers'라는 이름의 개체 배열을 정의합니다. [[servers]]의 각 발생이 배열에 새 개체를 생성합니다. 다음 키들은 해당 개체에 속합니다. JSON의 동등물: {"servers": [{...}, {...}]}.
어떤 주요 도구가 TOML을 사용하나요?
Rust(Cargo.toml), 현대 Python 패키징(pip/poetry의 pyproject.toml), Hugo 정적 사이트 생성기, Gitea, Lighthouse CI, 많은 Go 도구들이 TOML을 사용합니다.
TOML 주석이 JSON 출력에 보존되나요?
아니요. JSON에는 주석 구문이 없으므로 TOML의 # 주석을 JSON 출력에 표현할 수 없습니다. 주석이 중요한 결정을 문서화한 경우 별도의 README에 보존하거나 JSON에서는 _comment 키를 사용하세요.