JSON 도구

TOML JSON 변환날짜와 숫자 타입을 확인한 뒤 내보내기

일반 테이블, 서버 배열과 큰 식별자가 포함된 예제를 확인하세요. 날짜와 안전 범위 밖의 정수는 기본적으로 문자열이 됩니다.

TOML JSON 변환

JSON에서 TOML로

TOML 입력

현재 브라우저에서 처리하며 입력을 업로드하거나 저장하지 않습니다.

JSON 결과

출력 옵션

타입 매핑 미리보기

결과가 오래되어 내보낼 수 없습니다.

TOML JSON 변환은 설정을 API, 테스트 데이터 또는 JSON을 읽는 스크립트에 전달할 때 유용합니다. 섹션은 중첩 객체가 되고 이중 대괄호 [[table]] 헤더는 순서가 있는 객체 배열이 됩니다.

TOML 설정 파일을 다른 문법으로 옮기는 것과 애플리케이션에 맞는 설정을 만드는 것은 별도의 작업입니다. 이 도구는 Cargo나 Poetry 필드의 의미를 추측하거나 의존성을 실행하지 않습니다.

TOML JSON 변환에서 살펴볼 차이

테이블이 속한 위치를 확인

TOML JSON 변환은 먼저 테이블 범위를 해석합니다. [[servers]] 다음의 하위 테이블은 현재 서버 항목에 속하며, 따옴표로 묶은 "api.version"은 중첩 경로가 아닌 하나의 키로 남습니다.

이름이 있는 테이블이 중첩 객체가 되고 두 개의 반복 테이블이 순서를 유지한 객체 배열이 되는 그림.

타입이 바뀌는 필드를 찾기

미리보기는 일반 숫자, 큰 정수에서 문자열, 날짜에서 문자열, null 대체를 구분합니다. 출력이 길어도 JSON Pointer와 타입별 개수를 보면 수신 스키마가 해당 값을 읽을 수 있는지 판단할 수 있습니다.

달력 값과 긴 식별자가 각각 따옴표로 묶인 JSON 문자열 필드로 들어가는 그림.

받는 프로그램에 맞춰 옵션 고르기

01

식별자가 문자열이어도 되는지 결정

±9007199254740991을 넘는 정수는 기본적으로 십진 문자열이 됩니다. 숫자 타입을 반드시 요구하면 거부를 선택해 변환을 중단하고 필드를 조정하세요. 부호 있는 64비트 범위 밖의 정수는 항상 거부합니다.

02

비유한 수를 빈 값으로 대체할지 결정

TOML의 inf와 nan에 대응하는 JSON 숫자는 없습니다. 기본값은 거부이며 null을 명시적으로 선택해야 대체합니다. 부동소수점 오버플로도 같은 정책을 따르고 null 개수에 대체 수가 나타납니다.

03

최신 결과인지 확인한 뒤 사용

자동 변환은 수정 후 350밀리초를 기다립니다. 끄면 변환 버튼이나 Ctrl/Cmd+Enter로 실행할 수 있습니다. 입력 또는 옵션을 바꾸면 내보내기가 비활성화됩니다. 미리보기는 50개씩 최대 500개, 다운로드는 전체 결과입니다.

테이블 구조와 값의 변환 방식

부모 항목을 유지하는 테이블 배열

일반 테이블과 점으로 구분한 키는 중첩 객체가 됩니다. 테이블 배열은 순서를 유지하고 하위 테이블은 현재 부모 항목에 연결됩니다. 빈 테이블은 {}, 빈 배열은 []이며 여러 타입을 섞은 배열도 유지됩니다.

정수는 정확하게 읽은 뒤 분류

모든 정수를 먼저 BigInt로 읽고 안전 범위를 검사합니다. 16진수, 8진수, 2진수 및 구분 기호가 있는 표기는 십진 표기로 통일합니다. 문자열로 출력되는 큰 정수의 자릿수는 부동소수점 반올림을 거치지 않습니다.

네 종류의 날짜와 시간

오프셋이 있는 날짜 시간은 원래 오프셋을 유지합니다. 로컬 날짜 시간에 시간대를 추가하지 않고 날짜만 있거나 시간만 있는 형태도 유지합니다. 시간은 밀리초 정밀도로 출력하며 그보다 긴 소수 초는 잘립니다.

문법 위치와 데이터 경로

문법 오류는 입력의 행과 열을 표시하고 해당 행을 강조합니다. 정수 범위나 숫자 정책 오류는 JSON Pointer로 필드를 알립니다. 경로에서 /는 ~1, ~는 ~0으로 표현하므로 특수 문자가 있는 키도 구별됩니다.

보존되지 않는 표현과 처리 한계

완전한 날짜 검증기는 아님
TOML 1.1을 목표로 하는 smol-toml 1.8.0을 사용합니다. 하지만 잘못된 날짜 2023-02-30이 2023-03-02로 정규화될 수 있고 모든 잘못된 Unicode를 거부하지는 않습니다. 엄격한 달력 검증은 별도로 해야 합니다.
부동소수점 정밀도
IEEE 754 숫자로 처리하므로 반올림되거나 너무 작은 값이 0이 될 수 있습니다. 1.0은 1로, 음의 0은 0으로 출력됩니다. 무한대, nan, 오버플로는 선택한 정책에 따라 거부하거나 null로 대체합니다.
원문 모양과 타입은 달라짐
주석, 공백, 따옴표 스타일, 진법과 숫자의 원래 표기는 보존하지 않으며 키 순서도 보장하지 않습니다. JSON에는 날짜 타입이 없고 큰 정수는 기본적으로 문자열이므로 완전한 왕복 보존을 약속하지 않습니다.
하나의 텍스트에 적용되는 제한
입력은 500,000자, 깊이 100, 노드 50,000개까지이고 출력은 2,000,000자까지입니다. 파일 업로드, URL 가져오기, 일괄 처리나 기록 저장은 없습니다. 주석만 있는 문서는 {}가 됩니다.
설정을 고치거나 이전하지 않음
중복 키와 잘못된 문법은 오류가 됩니다. 필드 삭제나 정렬, Cargo 및 Poetry 스키마 검증은 하지 않습니다. 반대 방향 링크는 별도 도구를 열며 현재 입력이나 결과를 자동으로 전달하지 않습니다.

TOML JSON 변환 질문

테이블 배열도 변환되나요?

네. 일반 [table]은 객체가 되고 반복된 [[table]]은 객체 배열이 됩니다. TOML JSON 변환은 배열 항목 순서를 유지하며 하위 테이블을 현재 부모 항목에 연결합니다. 키가 많다는 이유만으로 일반 테이블이 배열이 되지는 않습니다.

출력 형식은 무엇이 있나요?

결과는 항상 JSON이며 공백 2개, 공백 4개 또는 압축 형식을 선택할 수 있습니다. 공백만 달라지고 값은 같습니다. 미리보기에 최대 500개 노드만 표시되어도 복사와 다운로드에는 전체 결과가 들어갑니다.

날짜와 시간은 어떻게 바뀌나요?

JSON에는 날짜 타입이 없어 문자열로 바뀝니다. 로컬 형태에 시간대를 붙이지 않고 명시된 오프셋은 유지합니다. 시간은 밀리초까지만 남고 일부 잘못된 날짜는 파서가 정규화하므로 별도 확인이 필요합니다.

inf와 nan은 어떻게 처리하나요?

기본적으로 거부하며 첫 번째 해당 값의 경로를 보여 줍니다. null 정책을 명시적으로 선택하면 빈 값으로 대체합니다. 배열 항목이나 객체 키를 삭제하지 않으며 타입 개수로 대체 수를 확인할 수 있습니다.

파싱 오류는 어떻게 찾나요?

TOML에서 JSON으로 변환기는 문법 오류의 행과 열을 표시하고 편집기에서 해당 행을 강조합니다. 숫자 정책 오류는 소스 위치 정보가 없는 파서 특성상 JSON Pointer로 알립니다. 실패하면 이전 결과는 내보낼 수 없습니다.

예상과 다른 설정 결과가 있나요?

다음 설정의 타입도 확인하세요

TOML JSON 변환 예제에서 날짜와 큰 식별자가 어떻게 표현되는지 확인한 뒤 직접 만든 설정을 처리해 보세요.