JSON 차이(Diff) 검사기
두 JSON 문서를 비교해 키 순서와 서식 차이는 무시하고 추가·삭제·변경된 내용만 정확히 보여줍니다.
🔒 브라우저에서 로컬로 처리됩니다
Loading…
사용 방법
- 왼쪽(모바일에서는 위쪽)의 "JSON A" 상자에 원본 JSON을 붙여넣으세요.
- 오른쪽(모바일에서는 아래쪽)의 "JSON B" 상자에 비교할 JSON을 붙여넣으세요.
- 두 상자 모두 유효한 JSON이면 아래에 비교 결과가 바로 갱신됩니다 — 별도로 누를 버튼이 없습니다.
- 각 차이 항목에는 경로, 추가/삭제/변경 표시, 변경 전 및(또는) 변경 후 값이 표시됩니다.
기능
- 텍스트 비교가 아닌 구조적(의미론적) 비교 — 키 순서나 서식 차이는 오탐으로 이어지지 않습니다
- user.address[0].city 같은 명확한 점/대괄호 경로 표기로 추가·삭제·변경 값을 표시
- 입력하거나 붙여넣는 즉시 실시간으로 갱신 — 별도로 누를 버튼이 없습니다
- 유효하지 않은 JSON에 대해 오류로 멈추지 않고 명확한 파싱 오류 메시지를 표시
- 100% 클라이언트 사이드 — JSON이 브라우저를 벗어나지 않습니다
자주 묻는 질문
일반 텍스트 비교 도구와는 무엇이 다른가요?
텍스트 비교는 JSON을 줄 단위로 비교하므로, 데이터가 완전히 같아도 키 순서나 들여쓰기가 바뀌면 모든 줄이 다르게 표시됩니다. 이 도구는 두 문서를 파싱한 뒤 실제 데이터 구조를 비교하므로, 진짜 값 차이만 보고하며 키 순서와 서식은 완전히 무시합니다.
"추가", "삭제", "변경"은 각각 무슨 뜻인가요?
"추가"는 해당 경로가 JSON B에만 존재함을 뜻합니다. "삭제"는 해당 경로가 JSON A에만 존재함을 뜻합니다. "변경"은 해당 경로가 양쪽에 모두 존재하지만 값이 다름(A는 숫자, B는 문자열처럼 타입이 다른 경우 포함)을 뜻합니다.
배열 요소는 어떻게 비교되나요?
배열은 인덱스 순서대로 하나씩 비교됩니다. 같은 인덱스의 요소가 다르면 해당 인덱스 경로(예: tags[2])에서 변경으로 표시됩니다. 한쪽 배열이 더 길면 나머지 요소는 추가 또는 삭제로 표시됩니다.
제 JSON이 어딘가에 업로드되나요?
아니요. 두 문서 모두 브라우저 안에서만 파싱되고 비교되며, 서버로 전송되거나 저장되는 일은 없습니다.
JSON이 유효하지 않으면 어떻게 되나요?
문제가 있는 상자 아래에 명확한 파싱 오류 메시지가 표시되며 오류로 멈추지 않으므로, 구문을 수정한 뒤 다시 시도할 수 있습니다.