Stateless Tools

JSON YAML 변환 검토

API 응답, 설정 파일, 쿠버네티스 매니페스트 같은 구조화 데이터를 JSON과 YAML 사이에서 바꾸고 CSV 형태로 정리합니다.

설정 형식 이동

JSON 기반 샘플을 YAML 설정으로 옮기거나, YAML 문서를 JSON으로 바꿔 코드에서 다루기 쉽게 만듭니다.

구조 확인

변환 중 배열, 객체, 문자열, 숫자 타입이 의도대로 유지되는지 결과를 바로 비교합니다.

CSV로 평면화

단순한 배열 데이터를 표 형태로 정리해 스프레드시트나 검수 문서로 옮기기 쉽게 만듭니다.

자주 만나는 오류

따옴표 없는 no가 false로 바뀔 때

YAML 1.1은 no, yes, on, off를 불리언으로 해석합니다. 노르웨이 국가코드 NO가 false가 되는 이 문제는 흔히 Norway problem이라 부릅니다. 문자열로 남기려면 따옴표로 감싸세요.

들여쓰기가 깨질 때

YAML은 탭을 들여쓰기로 인정하지 않습니다. 반드시 공백을 쓰고, 한 파일 안에서 폭을 통일하세요.

앞자리 0이 사라질 때

010-1234-5678 같은 값이나 08 같은 숫자는 8진수 또는 숫자로 해석될 수 있습니다. 전화번호, 우편번호, 버전 문자열은 따옴표로 감싸는 것이 안전합니다.

확인할 점

YAML 타입 추론

YAML은 yes, no, 날짜처럼 보이는 문자열을 타입으로 해석할 수 있습니다. 민감한 값은 따옴표로 감싸는 것이 안전합니다.

주석 보존 한계

JSON에는 주석이 없고 변환 과정에서 YAML 주석이나 원래 서식이 유지되지 않을 수 있습니다. 운영 설정은 원본을 따로 보관하세요.

YAML의 따옴표 없는 값은 위험합니다

yes, no, on, off, null이 따옴표 없이 쓰이면 문자열이 아니라 불리언이나 널로 해석됩니다. 국가 코드 NO(노르웨이)가 false가 되는 것이 유명한 예입니다. 문자열이어야 하면 따옴표를 씁니다.

들여쓰기에 탭을 쓸 수 없습니다

YAML 규격은 들여쓰기에 공백만 허용합니다. 에디터가 탭을 넣으면 파싱 오류가 나는데 화면상으로는 정상으로 보여 찾기 어렵습니다. YAML 파일에는 탭을 공백으로 변환하는 설정을 켜두세요.

YAML 앵커는 JSON으로 못 옮깁니다

YAML의 &앵커와 *별칭은 같은 블록을 재사용하는 문법인데 JSON에는 대응하는 개념이 없습니다. 변환하면 참조가 풀려 내용이 복제되므로 파일이 커지고, 되돌릴 때 원래 구조를 복원할 수 없습니다. 왕복이 필요하면 앵커를 쓰지 마세요.

사용 순서와 입력 예시 더 보기

사용 순서

  1. 원본 JSON 또는 YAML을 입력합니다.
  2. 변환 방향을 선택하고 출력 구조를 확인합니다.
  3. 문자열 숫자, true/false, null 값이 의도한 타입으로 남아 있는지 확인합니다.
  4. CSV 출력은 중첩이 깊지 않은 배열 데이터에 우선 사용합니다.

실제 입력과 결과

JSON을 YAML로

입력

{"name":"api","port":8080,"debug":false}

결과

name: api
port: 8080
debug: false

중첩 구조

입력

{"db":{"host":"localhost","ports":[5432,5433]}}

결과

db:
  host: localhost
  ports:
    - 5432
    - 5433

함께 쓰면 좋은 도구