it-box

TOML → JSON 변환기

TOML을 파싱해 JSON으로 변환합니다.

TOML → JSON 변환기 도구 열기

TOML 설정을 JSON으로 바꿔 API나 자바스크립트 도구에 넣을 수 있는 형태로 확인합니다.

사용 순서

  1. 왼쪽 입력 칸에 TOML을 붙여 넣습니다. 문법이 틀리면 검증 문구가 나옵니다.
  2. 출력에 3칸 들여쓰기의 JSON이 표시됩니다.
  3. 날짜 값과 배열 테이블이 기대한 구조인지 확인합니다.
  4. 결과를 복사해서 사용하거나 다른 도구로 넘깁니다.

예시

name = "it-box"는 "name": "it-box"를 담은 JSON 객체가 됩니다.

한계

출력은 JSON.stringify로 만든 값이라 TOML 날짜는 JSON 문자열로 바뀝니다. 이때 ISO 문자열로 바뀌면서 시간대가 달라 보일 수 있습니다. TOML의 주석은 JSON에 없으므로 사라집니다. 문법 오류가 나면 줄 번호 없이 검증 문구만 표시됩니다.

보안 주의

TOML 날짜 값은 JSON으로 바뀌면서 시간대 정보가 달라질 수 있습니다. 만료 시각이나 예약 시간처럼 시각 값이 동작을 결정하는 설정이라면 원본 TOML과 변환 결과를 함께 보관하고 값을 직접 대조하세요.

배경 지식

TOML은 값의 타입을 엄격하게 정하는 설정 형식입니다. 문자열은 따옴표로 감싸고, 정수와 실수를 구분하며, 날짜와 시간을 별도 타입으로 둡니다. JSON에는 날짜 타입이 없으므로 이 변환에서는 타입 정보 일부가 문자열로 바뀝니다. 타입이 문자열로 바뀌는 것은 JSON 자체의 한계이므로, 원래 TOML에서 어떤 타입이었는지 기록해 두세요.

TOML의 테이블은 JSON 객체에, 배열 테이블은 JSON 객체 배열에 대응합니다. [server] 아래의 키는 server 객체의 속성이 되고, [[servers]]가 여러 번 나오면 servers 배열이 됩니다. 이 대응 규칙을 알면 변환 결과의 구조를 쉽게 파악할 수 있습니다.

JSON으로 바꾼 설정은 자바스크립트나 여러 언어의 설정 로더에서 읽기 쉽다는 장점이 있습니다. 반대로 주석이 사라지므로, 사람이 편집하는 원본은 TOML로 두고 JSON은 읽기용이나 전달용으로 쓰는 것이 일반적입니다. 주석이 사라질 위험이 있으니 원본 파일은 버전 관리로 따로 보관하세요.

자주 묻는 질문

TOML 날짜 값은 JSON에서 어떻게 보이나요?

날짜 객체가 JSON 직렬화 과정에서 ISO 8601 문자열이 됩니다. 시간대 오프셋이 있는 값은 같은 시점을 가리키지만, 오프셋이 없는 로컬 날짜 시간은 변환 환경의 시간대에 따라 값이 달라질 수 있습니다.

TOML 배열 테이블 [[items]]은 JSON에서 무엇이 되나요?

객체를 담은 배열이 됩니다. [[items]]가 세 번 나오면 items 키 아래에 길이가 3인 배열이 생기고, 각 블록의 키가 그 객체의 속성이 됩니다.

들여쓰기 칸 수를 바꿀 수 있나요?

이 도구의 들여쓰기는 3칸으로 고정되어 있습니다. 다른 칸 수가 필요하면 결과를 편집기의 포맷 기능으로 다시 정리하세요.