GoodFormat
엉킨 한 줄 JSON · XML · 파이썬 dict를 붙여넣으면 주욱 정리해 줍니다.
🔒 모든 처리는 브라우저 안에서만 이뤄집니다. 입력 내용은 서버로 전송되지 않습니다.
GoodFormat 사용법
JSON 응답을 로그에서 복사했더니 한 줄로 뭉쳐 있거나, 파이썬에서 print(dict) 한 결과가 들여쓰기 없이 길게 나왔을 때, 또는 XML이 줄바꿈 없이 붙어 있을 때 그대로 붙여넣으면 됩니다. 자동 감지가 형식을 알아서 판별하고, 안 맞으면 위 탭에서 직접 골라 주세요.
- JSON — 표준 JSON을 들여쓰기로 펼치거나 한 줄로 압축합니다.
- 파이썬 dict —
'따옴표,True/False/None, 튜플까지 인식해 보기 좋은 JSON으로 변환합니다. - XML — 태그 구조에 맞춰 들여쓰기를 다시 매깁니다.
- 트리 뷰 — 중첩 구조를 접고 펼치며 살펴볼 수 있습니다.
괄호·기호 도감
이 기호들, 어디서 왔고 어디 쓰일까C 계열 언어에서 코드 블록을 묶는 기호이자, 수학에서는 집합을 나타냅니다. JSON·파이썬 dict에서는 키-값 객체를 감쌉니다.
배열·리스트의 표준 기호. 수학의 행렬과 구간 표기에서 출발했습니다. JSON에서는 순서 있는 배열을 뜻합니다.
SGML의 후손인 HTML·XML에서 태그의 경계로 쓰입니다. 수학에서는 부등호(작다/크다)였습니다.
파이썬에서 튜플을 만듭니다. JSON에는 튜플이 없어서, GoodFormat은 자동으로 [ ] 배열로 바꿉니다.
객체 안에서 키와 값을 가르는 구분자입니다. "key": value.
항목을 구분합니다. JSON에서는 마지막 항목 뒤 쉼표(trailing comma)가 금지라 흔한 에러 원인이 됩니다.
JSON에서 문자열과 키는 반드시 큰따옴표여야 합니다. 작은따옴표는 파이썬에선 되지만 JSON 표준에선 에러입니다.
파이썬의 True·False·None이 JSON에서는 소문자 true·false·null입니다. 이름과 대소문자가 달라요.
JSON은 자바스크립트 객체 표기법에서 갈라져 나와 2000년대 초 더글러스 크록포드가 정리했고(ECMA-404 / RFC 8259), XML은 1998년 W3C가 SGML을 단순화해 권고안으로 발표했습니다.
자주 묻는 질문
겉모습은 비슷하지만 규칙이 다릅니다. 파이썬은 작은따옴표를 쓰고 True/False/None·튜플을 허용하지만, JSON은 큰따옴표만 쓰고 true/false/null에 튜플이 없습니다. GoodFormat은 파이썬 dict를 붙여넣으면 이 차이를 자동으로 변환해 줍니다.
JSON 표준(RFC 8259)이 문자열과 키를 큰따옴표로만 쓰도록 못 박았기 때문입니다. {'a':1}은 파이썬 문법이라 대부분의 JSON 파서가 거부합니다. JSON으로 보낼 거라면 큰따옴표로 바꿔야 합니다.
JSON 명세가 trailing comma를 허용하지 않습니다. [1, 2, 3,] 처럼 마지막 쉼표가 남으면 파싱이 실패합니다. 자바스크립트·파이썬 코드에선 되지만 JSON 데이터에선 빼야 합니다.
JSON에는 주석 문법이 아예 없습니다. 설계 단계에서 의도적으로 제외됐는데, 주석에 파서 지시문 같은 걸 끼워 넣어 호환성이 깨지는 걸 막기 위해서였습니다. 주석이 필요하면 JSON5·JSONC 같은 변형을 쓰거나 별도 필드에 메모를 담습니다.
유니코드 이스케이프 표기일 뿐 데이터는 멀쩡합니다. 파이썬에서 json.dumps(..., ensure_ascii=False)로 저장하면 한글이 그대로 보입니다. GoodFormat은 파싱 후 다시 출력하므로 한글이 정상적으로 표시됩니다.
한마디
로그인 없이, 닉네임만