JSON을 여기에 놓고 읽으세요JSON은 여기

JSON 리더란?

원시 JSON을 읽는 건 속기로 쓴 장보기 목록을 읽는 것과 비슷합니다 — 읽을 수는 있지만, 데이터에 도달하기 전에 뇌가 구문을 해석하느라 힘을 빼야 합니다. JSON 리더는 그 구문을 치워버립니다. JSON을 붙여넣으면 키가 레이블로, 값이 그 자체로 서 있는 읽기 좋은 테이블 레이아웃이 나옵니다.

누가 JSON 파일을 건네며 "여기 뭐가 들어 있는지 알려줄래?"라고 할 때 쓰는 도구입니다. 포매터에 넣고 들여쓴 300줄을 스크롤하는 대신, 여기에 붙여넣고 필드를 하나씩 읽으면 됩니다. 리더는 배열을 행으로 펼치고, 중첩 객체를 클릭 가능한 테이블로 만들고, 원하는 필드로 바로 뛰어들 수 있는 인라인 필터를 제공합니다. JSON은 기계에 최적화된 텍스트 형식이고, 이 리더는 그 옆에서 읽는 사람에게 최적화되어 있습니다.

가입도, 파일 업로드도, 데이터 전송도 없습니다. 파싱은 브라우저에서 로컬로 일어납니다. 붙여넣고, 읽고, 탭 닫으면 끝.

이 도구로 JSON 읽는 방법

짧은 가이드입니다. 언급된 버튼은 모두 이 설명 위 페이지에 있습니다.

1

JSON 붙여넣기

왼쪽 에디터에 JSON을 놓으세요. 어디서 왔든 상관없습니다 — 파일로 저장한 curl 응답, 웹훅 페이로드, Kafka 메시지 본문, NoSQL 내보내기까지. 손에 JSON이 없고 리더를 써보고 싶다면 샘플을 누르세요.

{"invoice": {"number": "INV-2025-0417", "issuedOn": "2025-04-17", "payer": {"name": "Acme Logistics GmbH", "country": "DE"}, "lineItems": [{"description": "Freight — Hamburg to Rotterdam", "amount": 1250.00}, {"description": "Customs handling", "amount": 180.00}], "totalEUR": 1430.00}}

JSON에 구문 문제가 있으면 에디터 아래에 문제가 된 줄을 가리키는 오류 메시지가 나옵니다.

2

파싱된 뷰 읽기

붙여넣는 동안 오른쪽 패널이 각 키에 레이블을 붙이고 각 값을 자기 셀에 넣어 다시 그립니다. 인보이스 같은 단일 객체라면 number, issuedOn, payer 같은 키가 행으로 나옵니다. 레코드 배열이라면 각 레코드가 행이 되고 키가 열이 됩니다. 중첩 구조(payerlineItems 같은)는 인라인으로 자기 미니 테이블로 펼쳐집니다 — 중첩된 이메일 스레드를 스크롤하듯 클릭해 들어가면 됩니다. 파서는 RFC 8259의 규칙을 따르니, 유효한 JSON이면 제대로 렌더링됩니다.

3

원하는 필드 빠르게 찾기

모든 열 헤더 아래에 필터 입력란이 있습니다. country 열에 DE를 치면 독일 인보이스만 걸리고, description 열에 Customs로 수수료를 찾고, 날짜 열에 2025로 연도 필터를 겁니다. 여러 박스에 동시에 입력하면 모두 일치하는 행만 남습니다. 수백 개 레코드에서 한 항목을 찾아 읽을 때 꽤 유용합니다.

4

도움이 될 때 방향 뒤집기

때로는 키를 위에서 아래로 읽는 게 왼쪽에서 오른쪽보다 편합니다 — 특히 필드가 15개 이상인 레코드라면. 기본을 눌러 바깥 테이블을 전치하세요(키를 행으로, 값을 열로). 안쪽 테이블도 중첩으로 같은 방식으로 뒤집을 수 있습니다. 같은 데이터, 그저 그 순간 눈이 원하는 대로 놓은 것뿐입니다.

5

복사, 공유, 내보내기

값 하나만 뽑으려면 편집을 누른 뒤 셀을 더블클릭해 그대로 복사하세요. 뷰를 팀원에게 넘기려면 공유를 눌러 만료 시점을 고를 수 있는 짧은 링크(1시간, 1일, 1주)를 받으세요. 스프레드시트로 옮기고 싶다면 Excel로 .xls를 내려받아 Excel, Google 스프레드시트, LibreOffice Calc에서 여세요.

리더가 손에 잡히는 순간

웹훅 페이로드 해석하기

Stripe, GitHub, Shopify 같은 서비스는 중첩된 JSON으로 가득한 웹훅을 보냅니다. 로그에서 하나 집어서 처음부터 끝까지 읽어야 할 때 — 이벤트가 뭐라고 했는지, 환불 플래그가 있었는지, 어느 고객 ID가 쏜 건지. 붙여넣고, 읽고, 답을 얻습니다.

설정/세팅 파일 읽기

빌드 도구, 린터, 배포 스크립트의 400줄짜리 <code>.json</code> 설정은 주눅이 들 수 있습니다. 표로 읽으면 어떤 섹션이 있는지, 어디가 채워졌는지, 어디가 기본값을 상속받는지 드러납니다 — 텍스트 에디터에서 들여쓰기 단계를 세는 것보다 훨씬 부담이 적습니다.

직렬화된 상태 디버깅

프론트엔드 앱은 종종 직렬화된 상태를 <a href="https://developer.mozilla.org/ko/docs/Web/API/Window/localStorage" target="_blank" rel="noopener">localStorage</a>나 세션 스토리지에 JSON으로 던져둡니다. 뭔가 이상할 때 — 새로고침 뒤 장바구니가 빈다든가, 기능 플래그가 안 뒤집힌다든가 — 저장된 JSON을 여기로 복사해 콘솔에 표현식을 쓰지 말고 바로 읽어보세요.

적재 전에 익스포트 점검

JSON 익스포트를 데이터베이스, 데이터 웨어하우스, <a href="https://pandas.pydata.org/" target="_blank" rel="noopener">pandas</a> DataFrame에 넣기 전에 샘플을 훑어보세요. 레코드들 사이에 키가 일관적인가? 날짜 포맷이 예상대로인가? 리더가 이 일을 15분짜리 귀찮은 작업에서 30초 짜리 훑어보기로 바꿔줍니다.

자주 묻는 질문

JSON 포매터나 뷰어와는 뭐가 다른가요?

포매터는 JSON 텍스트를 들여쓰기와 색으로 다시 포매팅하지만, 여전히 텍스트입니다. 뷰어/리더는 그걸 탐색할 수 있는 구조화된 UI로 바꿔줍니다. "리더" 관점은 특히 읽기 이해에 맞춰 렌더링했다는 뜻입니다 — 레이블이 붙은 필드, 필터 박스, 셀 안의 읽기 좋은 값 — 쓰거나 검증하는 용도가 아닙니다. 포매터로 먼저 다듬은 뒤 결과를 여기에 붙여넣어 실제로 읽는 식으로 써도 됩니다.

주석, 끝 쉼표, 그 밖의 비표준 요소가 있는 JSON도 처리되나요?

안 됩니다. 리더는 브라우저 내장 JSON.parse()로 파싱하고, 이는 사양을 엄격히 따릅니다 — 주석 없음, 끝 쉼표 없음, 키는 반드시 큰따옴표. 입력에 그런 게 있으면 먼저 제거하거나(JSON Fixer 도구에 넣거나), 정리된 버전을 여기에 붙여넣으세요.

URL에서 JSON을 바로 읽을 수 있나요?

아직은 — JSON은 직접 가져와서 붙여넣어야 합니다. 이건 의도적입니다. 많은 JSON에는 인증 토큰이나 PII가 들어 있고, 제3자 프록시를 거치면 프라이버시가 후퇴합니다. 브라우저를 쓰고 있다면 DevTools 네트워크 탭의 "Copy Response"로 한 번에 복사해서 붙여넣을 수 있습니다.

엄청 큰 배열 — 만 개짜리 레코드 — 에선 어떻게 되나요?

렌더링은 됩니다만, 브라우저에서 만 줄을 스크롤하는 경험은 썩 좋지 않습니다. 더 나은 흐름은 jq 같은 도구로 읽고 싶은 부분만(앞 100개, 실패한 트랜잭션만, 뭐든) 잘라낸 뒤 그 서브셋을 여기에 붙여넣는 겁니다. 진짜로 중요한 것만 읽도록 최적화하세요.

내 JSON이 Google이나 로그에 남나요?

아닙니다. 모든 파싱은 브라우저에서 일어납니다. 공유를 클릭하지 않는 한 JSON은 어떤 서버에도 도달하지 않고, 공유 링크는 직접 만료 시점을 정할 수 있는 랜덤 GUID에 묶입니다. 민감한 데이터? 공유는 아예 건너뛰고 끝나면 탭을 닫으세요.

테이블 안에 테이블이 잔뜩 있는데, 접을 수 있나요?

테이블 속 테이블은 리더가 중첩을 표현하는 방식입니다 — payer.country는 payer 셀 안의 자기 미니 테이블을 갖습니다. 어떤 가지를 볼 필요가 없다면 전치된 중첩 방향(중첩 버튼)으로 바꿔 밀도를 높이거나, 필터로 아예 렌더링되는 행을 제한하세요. 전체 접기/펼치기는 로드맵에 있습니다.

관련 JSON 도구

읽기는 JSON으로 할 수 있는 일의 하나일 뿐입니다. 같이 쓰기 좋은 것들을 모았습니다: