YAML·TOML·JSON 변환기
JSON, YAML, TOML을 서로 변환하거나 문서를 검증하고 정리합니다. 모든 오류에 줄과 열을 표시합니다.
코드 예제
내 프로젝트에 그대로 복사해서 쓰세요. 모든 예제는 해당 언어의 표준 라이브러리만 사용하므로 설치할 것이 없습니다.
import json
import tomllib
text = 'name = "codeknife"\nports = [80, 443]\ndebug = false'
print(json.dumps(tomllib.loads(text), indent=2))기능
문서를 JSON, YAML, TOML 사이에서 양방향으로 변환하거나, 두 형식이 같으면 검증하고 정리합니다. 모든 구문 오류에는 발견된 줄과 열이 함께 표시됩니다.
사용 방법
- 문서를 붙여넣거나 파일을 끌어다 놓습니다.
- 원본에서 문서의 형식을, 대상에서 원하는 형식을 고릅니다. 양쪽에 같은 형식을 고르면 검증하고 정리합니다.
- 들여쓰기를 고른 뒤 결과를 복사하거나 다운로드하고, 출력을 입력으로 사용으로 방향을 바꿀 수 있습니다.
예제
YAML의 name: codeknife와 ports: [80, 443]은 JSON에서 {"name": "codeknife", "ports": [80, 443]}, TOML에서 name = "codeknife"와 ports = [ 80, 443 ]이 됩니다.
알아 두면 좋은 점
- YAML은 1.2 버전으로 읽습니다. 불리언은
true와false뿐이라yes와on은 문자열로 남습니다.---로 나뉜 여러 부분, 중복 키, 너무 많은 별칭이 있는 문서는 거부합니다. - TOML은 최상위에 테이블이 필요하고 null이 없습니다. 목록이나 null을 TOML로 변환하면 경로를 알려 주는 오류가 납니다.
- TOML의 날짜는 TOML을 정리할 때는 날짜로 남고, JSON이나 YAML로 변환하면 문자열이 됩니다.
- 주석은 변환할 때 유지되지 않습니다. JSON에는 주석이 없고 읽어 들인 데이터에도 담기지 않기 때문입니다.
변환하지 않고 검증하거나 정리하려면 어떻게 하나요?
원본과 대상에 같은 형식을 고르세요. 문서를 엄격하게 읽으므로 모든 오류가 줄과 열과 함께 보고되고, 올바른 문서는 일관된 들여쓰기로 다시 작성됩니다.
자주 묻는 질문
YAML에서 yes, no, on이 왜 문자열로 남나요?
이 도구는 true와 false만 불리언인 YAML 1.2를 읽습니다. yes, no, on, off는 일부 오래된 YAML 1.1 파서와 달리 일반 문자열로 남습니다.
모든 JSON 문서가 TOML이 될 수 없는 이유는?
TOML은 최상위가 테이블이고 null이 없습니다. 맨 위의 목록이나 어디에든 있는 null은 조용히 사라지지 않고 경로를 알려 주는 메시지와 함께 거부됩니다.
이 도구가 내 데이터를 어딘가로 보내나요?
아니요. 모든 작업은 브라우저에서 이루어집니다. 입력한 내용은 저희 서버로 전송되지 않습니다.