JSON 비교(JSON Diff)
키 순서를 무시하고 두 JSON 문서를 구조로 비교합니다. 추가·삭제·변경된 값을 경로와 함께 보여 주며 숫자 허용 오차와 id 기준 배열 매칭도 지원합니다.
JSON을 일반 텍스트로 비교하면 잡음이 생깁니다. 키 순서가 바뀌거나 들여쓰기가 다르면 데이터가 같아도 변경으로 보이기 때문입니다. 이 도구는 대신 해석된 구조를 비교합니다. 키 순서는 무시하고, 모든 차이를 경로와 함께 나열하며, 숫자 반올림, 대소문자, 항목이 이동한 배열 같은 흔한 오탐을 옵션으로 다룹니다.
사용 방법
- 왼쪽에 원본 JSON을, 오른쪽에 변경된 버전을 붙여 넣습니다.
- 배열이 id가 있는 레코드를 담고 있다면 키 필드로 객체 매칭을 고르고 필드 이름을 입력합니다.
- 필요하면 숫자 허용 오차를 정하거나 문자열의 대소문자를 무시합니다.
- 경로와 변경 내용의 표를 확인합니다. 아래의 줄 단위 비교는 같은 데이터를 텍스트로 보여 줍니다.
계산식
diff(L, R): different types → type change; objects → compare shared keys, list left-only keys as removed and right-only keys as added; arrays → by position or by key; numbers equal if |L − R| ≤ tolerance
경로는 JavaScript와 JSONPath와 같은 표기를 씁니다. $.stock.store, $.tags[2], 그리고 키로 매칭한 항목은 $.items[id=7]입니다. 줄 단위 비교는 키를 먼저 정렬하므로 키 순서가 잘못된 차이를 만들지 않습니다.
예시
샘플 램프에서 이 도구는 차이 5건을 찾습니다. $.name 변경("Desk lamp" → "Desk Lamp"), $.price 변경(34.9 → 29.9), $.tags[2] 추가("sale"), $.stock.store 삭제, $.color 추가입니다. 대소문자 무시를 체크하면 이름 변경이 사라져 4건이 남습니다.
자주 묻는 질문
키 순서가 중요한가요?
아니요. JSON 객체는 정의상 순서가 없으므로(RFC 8259) {"a":1,"b":2}와 {"b":2,"a":1}은 동일하다고 보고됩니다. 배열 순서는 키 필드로 항목을 매칭하지 않는 한 중요합니다.
항목 순서가 바뀐 배열은 어떻게 비교하나요?
키 필드로 객체 매칭을 고르고 항목마다 고유한 필드(예: id)를 입력하세요. 항목이 그 값으로 짝지어지므로 항목이 이동해도 변경이 아니며, 없어졌거나 새로 생긴 항목은 삭제됨이나 추가됨으로 나타납니다.
왜 1.0과 1이 같은가요?
JSON에는 숫자 유형이 하나뿐이어서 1, 1.0, 1e0은 같은 값입니다. 0.30000000000000004와 0.3처럼 반올림만 다른 값에는 허용 오차를 쓰세요.
파일이 업로드되나요?
아니요. 두 문서 모두 브라우저에서 해석하고 비교합니다.
출처
최종 업데이트:
이 입력값이 담긴 페이지 주소: https://kakao.mobile/ko/tools/json-diff-tool/
인용·퍼가기
kakaoCalc. (2026, November 8). JSON 비교(JSON Diff). https://kakao.mobile/ko/tools/json-diff-tool/
“JSON 비교(JSON Diff).” kakaoCalc, 8 Nov. 2026, kakao.mobile/ko/tools/json-diff-tool/.