JSON 비교 및 차이 분석기

두 JSON을 비교해 추가·제거·변경된 키 경로를 강조해 보여 줍니다.

도구를 불러오는 중…

JSON 비교 및 차이 분석기두 JSON을 나란히 붙여넣으면 단순한 줄 단위 비교가 아니라 키 단위의 구조적 비교를 수행하므로, 키 순서나 공백 차이로 잘못된 변경이 잡히지 않습니다. 모든 차이는 user.name 이나 items[0] 같은 정확한 경로로 표시되며 추가·제거·변경으로 분류됩니다. 파싱과 비교가 전부 브라우저 안에서만 이루어지므로 데이터가 기기를 벗어나지 않습니다.

JSON 비교 및 차이 분석기란?

JSON Diff는 두 JSON 값의 의미적 차이를 찾아 주는, 전적으로 브라우저 안에서 동작하는 무료 도구입니다. 텍스트를 한 줄씩 비교하는 대신 양쪽 트리를 따라 내려가며 키는 이름으로, 배열 항목은 인덱스로 맞춰 비교하고, config.server.port 나 list[2] 같은 점 표기 경로로 모든 변경을 보고합니다. 백엔드와 API 개발자는 두 API 응답, 설정 파일, 테스트 데이터 사이에서 무엇이 바뀌었는지 정확히 확인하는 데 사용하고, QA 엔지니어와 데이터 분석가는 변환이나 마이그레이션이 기대한 결과를 냈는지 검증하는 데 사용합니다. 기호 스타일을 고르면 변경을 + / - / ~ 줄로 읽을 수 있고, 단어 스타일을 고르면 추가·제거·변경으로 표시됩니다. 맞바꾸기 버튼은 좌우 입력을 뒤집어 어느 방향에서든 차이를 볼 수 있게 해 줍니다.

JSON 비교 및 차이 분석기 사용법

  1. 원본 JSON을 왼쪽(원본) 상자에 붙여넣습니다.
  2. 비교할 JSON을 오른쪽(변경본) 상자에 붙여넣습니다.
  3. 결과 블록에서 차이를 확인합니다. 각 줄에 변경된 경로와 값이 표시됩니다.
  4. 스타일 설정으로 + / - / ~ 기호와 추가 / 제거 / 변경 단어 표기를 전환합니다.
  5. 맞바꾸기로 좌우를 뒤집거나, 복사로 전체 차이 보고서를 가져옵니다.

예시

값 하나가 바뀐 경우

입력

왼쪽: {"name":"Ada","age":30}
오른쪽: {"name":"Ada","age":31}

출력

~ age: 30 -> 31

키 하나가 추가되고 하나가 제거된 경우

입력

왼쪽: {"a":1,"b":2}
오른쪽: {"a":1,"c":3}

출력

- b: 2
+ c: 3

키 순서를 바꿔도 동일하게 처리

입력

왼쪽: {"x":1,"y":2}
오른쪽: {"y":2,"x":1}

출력

차이 없음 — 두 문서가 동일합니다.

자주 묻는 질문

제 JSON이 서버로 전송되나요?
아니요. 두 문서 모두 기기에서 실행되는 깊은 비교 루틴으로 브라우저 안에서 파싱·비교됩니다. 아무것도 업로드되지 않으며 오프라인에서도 계속 작동합니다.
일반 텍스트 비교와 무엇이 다른가요?
텍스트 비교는 줄끼리 맞대므로 다시 포맷팅하거나 키 순서를 바꾸면 모두 변경처럼 보입니다. 이 도구는 파싱된 구조를 비교하며 객체 키는 이름으로, 배열 항목은 위치로 맞추기 때문에 실제 의미적 차이만 보고합니다.
키 순서가 중요한가요?
중요하지 않습니다. 키와 값이 같은 두 객체는 키가 나타나는 순서와 상관없이 동일하게 취급됩니다. 다만 배열 항목은 인덱스로 비교하므로 배열 순서를 바꾸면 변경으로 집계됩니다.
각 줄은 무엇을 뜻하나요?
추가된 경로는 오른쪽에만 있고, 제거된 경로는 왼쪽에만 있으며, 변경된 경로는 양쪽 값이 다릅니다. 기호 스타일에서는 +, -, ~로 표시되고 단어 스타일에서는 글자로 풀어 씁니다.
JSON이 유효하지 않으면 어떻게 되나요?
어느 한쪽이 파싱에 실패하면 어느 쪽(왼쪽 또는 오른쪽)이 유효하지 않은지 오류 안내로 알려 주어 고칠 수 있습니다. 양쪽이 정상적으로 파싱되면 차이가 자동으로 갱신됩니다.

관련 도구