TOML에서 JSON으로 변환기

TOML 구성을 JSON으로 변환 — 테이블, 테이블 배열, 모든 TOML 데이터 유형 지원

공유:

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으로 변환하는 방법

1

TOML 구성 붙여넣기

Cargo.toml, pyproject.toml, 또는 다른 TOML 구성 파일의 내용 붙여넣기

2

자동 변환

도구가 TOML 구조를 파싱하여 동등한 JSON으로 즉시 변환

3

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 키를 사용하세요.