Tool Kumar 도구
JSON을 TOML로 변환
JSON 설정을 TOML 테이블로 바꿉니다. 중첩 객체는 테이블 헤더가 되고, 객체 배열은 테이블 배열이 됩니다. TOML로 표현할 수 없는 값은 출력에 달린 주석으로 확인합니다.
도구 사용 방법
- 유효한 JSON 설정을 붙여넣습니다.
- TOML 테이블과, 생략되거나 바뀐 값에 대한 주석을 검토합니다.
- TOML을 복사하거나 다운로드한 뒤, 애플리케이션의 설정 스키마로 검증합니다.
사용 예제
생성된 TOML에는 [profile] 테이블과 [[items]] 테이블 두 개가 있습니다. null인 note는 주석과 함께 생략됩니다.
입력
{
"user-id": 42,
"profile": {
"city": "London",
"created_at": "2026-10-14T09:00:00Z"
},
"items": [
{
"price": 12,
"note": null
},
{
"price": 12.5,
"note": "gift"
}
]
}출력
user-id = 42
[profile]
city = "London"
created_at = "2026-10-14T09:00:00Z"
[[items]]
price = 12
# note = null (omitted: TOML has no null)
[[items]]
price = 12.5
note = "gift"
TOML 기반 스택으로 설정 옮기기
출력은 TOML을 읽는 애플리케이션이 받아들이는 데이터에 사용하고, 그 애플리케이션의 스키마를 확인합니다. Rust의 Cargo.toml과 Python의 pyproject.toml에는 정해진 테이블과 키가 필요하며, 구조를 변환한다고 해서 그런 프로젝트 파일이 만들어지지는 않습니다.
이 예시에서 각 항목은 별도의 [[items]] 테이블입니다. 첫 번째 note는 null이어서 생략됩니다. 저장하기 전에 원본과 비교합니다.
null을 보존해야 한다면, 바뀐 설정을 그냥 받아들이지 말고 JSON을 그대로 쓰거나 YAML을 사용합니다.
옵션 및 예외 사항
- TOML에는 null 값이 없습니다. null 속성은 주석과 함께 생략되고, 배열이나 인라인 객체 안의 null 요소는 제거됩니다. 이 변환으로 데이터가 달라질 수 있습니다.
- 부호 있는 64비트 범위를 벗어난 정수는 설명 주석과 함께 따옴표로 묶인 문자열로 기록됩니다.
- TOML 문서는 테이블이어야 하므로, 최상위 배열이나 스칼라는 루트 이름 설정으로 정해지는 키(기본값 root) 아래로 감싸집니다.
- 날짜처럼 보이는 값을 포함해 문자열은 문자열로 남습니다. 공백이 들어간 키는 따옴표로 묶입니다.
개인정보 보호 기본 적용
문서는 이 브라우저에만 보관됩니다. Tool Kumar는 기기 안에서 파싱, 변환, 다운로드 파일 생성을 처리하며 계정이나 업로드 과정이 필요하지 않습니다.
JSON을 TOML로 변환 자주 묻는 질문
- JSON을 TOML로 변환하면 손실이 없나요?
- 모든 문서가 그렇지는 않습니다. TOML에는 null이 없고, 정수는 부호 있는 64비트 범위에 들어가야 합니다. 내보내기 기능은 null을 생략하고 범위를 벗어난 정수를 따옴표로 묶으며, 이러한 변경을 주석으로 설명합니다.
- 객체 배열은 어떻게 표현되나요?
- [[items]] 같은 테이블 배열이 되며, 객체마다 테이블이 하나씩 만들어집니다.
- 다시 JSON으로 변환할 수 있나요?
- 네. 수정한 설정은 ‘TOML을 JSON으로 변환’ 페이지에서 변환합니다. 생략된 null 값은 자동으로 되살릴 수 없습니다.
- 최상위 JSON 배열도 TOML로 바꿀 수 있나요?
- 네. TOML은 문서 루트가 테이블이어야 하므로, 변환기가 배열을 루트 이름 아래로 감쌉니다.