KO
내 도구

JSON 비교(JSON Diff)

키 순서를 무시하고 두 JSON 문서를 구조로 비교합니다. 추가·삭제·변경된 값을 경로와 함께 보여 주며 숫자 허용 오차와 id 기준 배열 매칭도 지원합니다.

배열 비교 방식
배열 안의 객체를 키로 매칭할 때 쓰입니다. 예: id, sku, email.
이 값보다 가까운 숫자는 같은 것으로 봅니다. 0은 정확히 같아야 한다는 뜻입니다.
내 도구 →
광고

JSON을 일반 텍스트로 비교하면 잡음이 생깁니다. 키 순서가 바뀌거나 들여쓰기가 다르면 데이터가 같아도 변경으로 보이기 때문입니다. 이 도구는 대신 해석된 구조를 비교합니다. 키 순서는 무시하고, 모든 차이를 경로와 함께 나열하며, 숫자 반올림, 대소문자, 항목이 이동한 배열 같은 흔한 오탐을 옵션으로 다룹니다.

사용 방법

  1. 왼쪽에 원본 JSON을, 오른쪽에 변경된 버전을 붙여 넣습니다.
  2. 배열이 id가 있는 레코드를 담고 있다면 키 필드로 객체 매칭을 고르고 필드 이름을 입력합니다.
  3. 필요하면 숫자 허용 오차를 정하거나 문자열의 대소문자를 무시합니다.
  4. 경로와 변경 내용의 표를 확인합니다. 아래의 줄 단위 비교는 같은 데이터를 텍스트로 보여 줍니다.

계산식

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처럼 반올림만 다른 값에는 허용 오차를 쓰세요.

파일이 업로드되나요?

아니요. 두 문서 모두 브라우저에서 해석하고 비교합니다.

출처

최종 업데이트:

인용·퍼가기
APA

kakaoCalc. (2026, November 8). JSON 비교(JSON Diff). https://kakao.mobile/ko/tools/json-diff-tool/

MLA

“JSON 비교(JSON Diff).” kakaoCalc, 8 Nov. 2026, kakao.mobile/ko/tools/json-diff-tool/.

광고