JSON 포매터 & 검증기

아래에 JSON을 붙여넣어 포맷, 검증 또는 축소합니다. 들여쓰기 수준을 선택하세요. 모든 처리는 브라우저에서 로컬로 수행됩니다.

복사됨!

JSON이란?

JSON(JavaScript Object Notation)은 사람이 읽고 쓰기 쉽고 기계가 구문 분석하고 생성하기 쉬운 경량 데이터 교환 형식입니다. 객체, 배열, 문자열, 숫자, 불리언 및 null 값을 지원합니다.

포매팅(프리티 프린팅)은 JSON을 읽기 쉽게 들여쓰기를 추가하고, 축소는 불필요한 공백을 모두 제거하여 페이로드 크기를 줄입니다.

무언가 파싱되지 않을 때 메시지만으로는 도움이 되지 않는 경우가 많습니다. 그래서 이 페이지는 보고된 위치에서 행과 열을 계산하고, 문제가 된 줄과 그 아래 화살표를 함께 보여 줍니다. 느슨한 옵션은 먼저 주석과 끝쉼표를 걷어 내며, 그 덕분에 tsconfig나 에디터 설정 파일을 여기서 다룰 수 있습니다. 키를 정렬하면 두 문서를 diff로 비교할 수 있고, ASCII 옵션은 순수 ASCII를 넘는 모든 문자를 이스케이프해 나머지를 망가뜨리는 경로에서도 살아남게 합니다.

또 데이터를 손으로 손보고 있나요

매번 브라우저 탭에서 고쳐야 하는 페이로드는 원래 코드가 할 일입니다. 저희는 시스템 사이에서 데이터를 옮기는 연동, 파서, 서비스를 만들고, 그 과정에서 조용히 데이터를 망가뜨리는 것들을 고칩니다.

무엇을 옮기는지 알려주세요

자주 묻는 질문

왜 위치를 알려 주는 메시지와 함께 실패하나요
JSON은 오류를 문자 오프셋으로 알려 주는데, 긴 파일에서는 그것만으로는 쓸모가 없습니다. 이 페이지는 그 오프셋을 행과 열로 바꾸고, 문제가 된 줄과 정확한 지점을 가리키는 표시를 함께 출력해 바로 찾아갈 수 있게 합니다.
tsconfig나 에디터 설정 파일도 읽을 수 있나요
네, 느슨한 옵션을 켜면 됩니다. 그런 파일은 주석과 끝쉼표를 쓰는데 이는 JSON이 아니므로, 페이지가 파싱 전에 걷어 내고 그 사실을 알려 줍니다. 나오는 결과는 어떤 파서든 받아들이는 순수한 JSON입니다.
긴 ID 숫자가 왜 바뀌었나요
JSON의 숫자는 double로 파싱되는데, 열여섯 자리쯤을 넘으면 정밀도를 잃기 때문입니다. 큰 데이터베이스 식별자는 반올림된 채 도착하고, 어떤 포매터도 되살릴 수 없습니다. 페이지가 그런 값을 보면 경고합니다. 해법은 그런 식별자를 문자열로 다루는 것입니다.
키 정렬 옵션은 어디에 쓰나요
두 문서를 비교할 때 씁니다. 같은 데이터라도 키 순서가 다르면 diff가 온통 잡음이 되지만, 양쪽을 정렬하면 진짜 차이가 드러납니다. 최상위뿐 아니라 모든 단계에서 정렬합니다.
제 데이터가 어딘가로 업로드되나요
아닙니다. 파싱과 포매팅은 브라우저 자체의 JSON 기능으로 브라우저 안에서 이루어집니다. 아무것도 전송되지 않으며, 사람들이 포매터에 붙여 넣는 파일은 대개 공유하고 싶지 않은 시스템의 설정이나 API 응답이기 때문에 이 점이 중요합니다.