JSON 비교 도구
두 JSON 입력을 각각 파싱하고 예쁘게 출력한 후 LCS 기반 줄 단위 diff를 수행합니다. 추가는 녹색, 삭제는 빨간색으로 표시합니다. 비교 전 키 정렬을 선택할 수 있습니다.
두 JSON 문서를 파싱하고 보기 좋게 정규화한 뒤 줄 단위로 비교합니다. 객체 키 정렬 옵션을 사용할 수 있고 추가·삭제·동일한 줄을 구분해서 보여줍니다.
두 JSON 문서를 비교하는 방법
- 왼쪽에 첫 번째 JSON을 입력하세요.
- 오른쪽에 두 번째 JSON을 입력하세요.
- 속성 순서를 무시하고 싶으면 키 정렬 옵션을 켜두세요.
- 비교를 실행하고 추가·삭제된 줄을 확인하세요.
- 한쪽 JSON이 잘못되었다면 표시된 파싱 오류를 수정하세요.
정규화와 diff 계산 방식
각 입력은 JSON.parse로 읽은 뒤 2칸 들여쓰기로 다시 직렬화합니다. 키 정렬을 켜면 객체 키를 재귀적으로 정렬하지만 배열 순서는 그대로 유지합니다.
일반적인 크기에서는 LCS 기반 줄 비교를 사용합니다. 두 문서의 줄 수를 곱한 값이 200,000을 넘으면 큰 메모리 계산을 피하기 위해 왼쪽 전체를 삭제, 오른쪽 전체를 추가로 표시하는 단순 fallback을 사용합니다.
개인정보 보호 및 제한 사항
비교는 브라우저에서 로컬로 수행되며 JSON을 처리 목적으로 의도적으로 업로드하지 않습니다. 이 기능은 JSON Patch 생성기가 아니라 정규화된 텍스트의 줄 비교입니다. 큰 문서는 단순 fallback을 사용할 수 있고 배열 요소 순서는 항상 의미 있는 차이로 취급됩니다.
자주 묻는 질문
객체 속성 순서가 다르면 차이로 나오나요?
키 정렬 옵션을 켜면 객체 키를 재귀적으로 정렬하므로 순서만 다른 경우 차이가 줄어듭니다.
배열도 정렬하나요?
아니요. 배열의 순서는 그대로 유지합니다.
JSON이 잘못되면 어떻게 되나요?
왼쪽 또는 오른쪽 중 어느 입력이 잘못되었는지 오류로 표시합니다.
큰 파일에서 결과가 단순하게 보일 수 있나요?
네. 줄 수 곱이 200,000을 넘으면 LCS 대신 전체 삭제·전체 추가 방식으로 fallback합니다.
JSON Patch를 만들 수 있나요?
아니요. 사람이 읽기 쉬운 줄 단위 비교 결과만 제공합니다.