JSON 도구

JSON 비교— 달라진 필드만 찾아보세요

양쪽에 JSON을 붙여넣으면 입력을 멈춘 뒤 결과가 갱신됩니다. 자동 비교를 끄면 버튼으로 직접 비교할 수 있습니다.

JSON 비교

+ 추가: 2− 삭제: 1수정: 7

업데이트됨

1 / 10

읽기 전용: 비교 규칙에 따라 서식과 레코드 순서를 맞추고 제외 경로를 숨깁니다. 원본은 변경되지 않습니다.

− 원본 JSON/users/0/id
+ 변경된 JSON/users/0/id

비교를 불러오는 중…

{
  "users": [
    {
      "id": 1,
      "name": "Ada",
      "role": "reader"
    },
    {
      "id": 2,
      "name": "Lin",
      "role": "editor"
    }
  ],
  "version": 1,
  "updatedAt": "2026-09-01"
}
{
  "users": [
    {
      "id": 2,
      "name": "Lin",
      "role": "admin"
    },
    {
      "id": 1,
      "name": "Ada",
      "role": "reader"
    },
    {
      "id": 3,
      "name": "Sam",
      "role": "reader"
    }
  ],
  "updatedAt": "2026-09-10",
  "active": true
}

입력은 현재 브라우저 탭에만 있으며 업로드하거나 영구 저장하지 않습니다.

구조 상세 (10)
  • 루트
    • users
      • 0
        • 수정

          원본 JSON /users/0/id

          1

          변경된 JSON /users/0/id

          2
        • 수정

          원본 JSON /users/0/name

          "Ada"

          변경된 JSON /users/0/name

          "Lin"
        • 수정

          원본 JSON /users/0/role

          "reader"

          변경된 JSON /users/0/role

          "admin"
      • 1
        • 수정

          원본 JSON /users/1/id

          2

          변경된 JSON /users/1/id

          1
        • 수정

          원본 JSON /users/1/name

          "Lin"

          변경된 JSON /users/1/name

          "Ada"
        • 수정

          원본 JSON /users/1/role

          "editor"

          변경된 JSON /users/1/role

          "reader"
      • 추가

        원본 JSON

        없음

        변경된 JSON /users/2

        {"id":3,"name":"Sam","role":"reader"}
    • 삭제

      원본 JSON /version

      1

      변경된 JSON

      없음
    • 수정

      원본 JSON /updatedAt

      "2026-09-01"

      변경된 JSON /updatedAt

      "2026-09-10"
    • 추가

      원본 JSON

      없음

      변경된 JSON /active

      true

연동 테스트에서 응답 필드가 재정렬되면 텍스트 diff만으로 실제 변경을 찾기 어렵습니다. 이 JSON 비교 도구는 키와 값을 따라가며, 숫자가 문자열로 바뀐 경우도 놓치지 않습니다.

JSON 차이 비교 예제를 불러와 위치 방식과 키 방식을 번갈아 사용해 보세요. JSON Diff에서 사용자 목록의 순서 변경과 권한 변경이 어떻게 다르게 나타나는지 확인할 수 있습니다. JSON 비교 결과는 값이 바뀐 항목만 모아 보여줍니다.

JSON에서 중요한 변경 사항 찾기

순서가 바뀌어도 같은 레코드 연결

API가 같은 레코드를 다른 순서로 반환할 수 있습니다. 각 객체에 고유한 id가 있으면 키 비교가 레코드를 먼저 연결한 뒤 필드를 확인합니다. 단순한 재정렬 때문에 불필요한 차이가 늘어나지 않고 권한 변경 등을 확인할 수 있습니다. 순서 자체가 중요하다면 위치 비교를 사용하세요.

같은 모양의 식별자가 재정렬된 레코드를 연결하고 변경된 필드 하나를 주황색으로 강조합니다.

매번 바뀌는 필드를 검토에서 제외

매번 갱신되는 updatedAt 값은 중요한 설정 변경을 찾는 데 방해가 될 수 있습니다. /updatedAt을 제외하면 해당 필드와 하위 항목을 건너뛰면서 나머지 차이는 유지합니다. 제외에는 정확한 JSON Pointer 경로를 사용하므로 검토하지 않을 분기만 지정하세요.

두 데이터 트리에서 타임스탬프 필드는 흐리게 표시하고 다른 분기의 변경을 강조합니다.

세 단계로 차이 검토하기

01

변경 전후 데이터 입력

두 편집기에 유효한 JSON을 붙여넣거나 예제를 불러와 결과 트리를 살펴보세요. 자동 비교는 입력을 잠시 멈추면 결과를 갱신합니다.

02

레코드 연결 방식 선택

순서가 있는 목록은 위치로, 객체 배열은 id 같은 고유 키로 비교하세요. 제외할 필드는 /updatedAt 같은 정확한 경로를 한 줄에 하나씩 입력합니다.

03

차이 확인 후 보고서 저장

비교 보기에서 삭제는 빨간색, 추가는 초록색으로 확인하세요. 차이를 차례로 탐색하거나 구조 상세에서 원래 경로를 확인한 뒤 보고서를 복사하거나 다운로드하세요.

API 변경을 검토하는 기능

경로를 따라 펼치는 차이 트리

변경된 가지를 펼쳐 이전 값과 새 값을 나란히 확인합니다. 각 항목은 JSON Pointer를 표시하며, 키 매칭으로 이동한 레코드에는 양쪽의 실제 인덱스 경로가 남습니다.

목록의 의미에 맞는 배열 비교

순서가 중요한 목록은 같은 인덱스끼리 비교하세요. 사용자나 상품처럼 식별자가 있는 객체 배열은 id 같은 직접 속성으로 매칭하면 단순 재정렬을 수정으로 세지 않습니다.

비교 조건까지 담은 보고서

추가·삭제·수정 건수와 적용한 옵션을 JSON 보고서로 복사하거나 저장합니다. 이전 값과 새 값은 JSON 원문 문자열로 담아 긴 숫자가 보고서 로딩 중 반올림되는 것을 방지합니다.

알아둘 비교 규칙

유효한 JSON과 엄격한 타입 비교
주석, 후행 쉼표, 중복 객체 키가 있으면 비교를 중단합니다. null과 없는 필드, 숫자와 문자열은 다릅니다. 1과 1.0처럼 값이 같은 숫자는 부동소수점 변환 없이 같다고 판단합니다.
키 매칭에는 고유 식별자가 필요합니다
각 객체에 문자열 또는 숫자인 직접 속성이 있어야 하고, 배열 안에서 중복되면 안 됩니다. 키가 없거나 객체와 기본값이 섞이면 오류입니다. 객체가 없는 배열은 위치로 비교하며 숫자 1과 문자열 "1"은 다른 키입니다.
제외 경로는 하위 가지에도 적용됩니다
/updatedAt처럼 정확한 JSON Pointer를 한 줄에 하나씩 입력하세요. 키 이름의 /는 ~1, ~는 ~0으로 씁니다. 와일드카드와 JSONPath는 지원하지 않습니다. 키 모드에서는 양쪽 중 한 인덱스 경로라도 일치하면 해당 쌍을 제외합니다.
건수는 변경된 가지 기준입니다
하위 트리 전체의 추가나 삭제는 한 건이며 타입 교체도 한 건입니다. 이동 작업은 별도로 생성하지 않습니다. 보고서는 검토용이며 RFC 6902 패치로 실행할 수 없습니다. 내부에 제외 경로가 있으면 추가·삭제된 컨테이너를 펼쳐 제외되지 않은 자식만 셉니다.
입력 크기와 결과 표시 제한
각 입력은 UTF-16 코드 단위 500,000개, 노드 50,000개, 깊이 100까지입니다. 숫자 토큰은 1,000자까지 허용합니다. 차이가 5,000건을 넘으면 부분 결과 없이 중단합니다. 트리는 100건씩 표시하고 내보내기는 전체를 포함합니다.

JSON 비교 자주 묻는 질문

두 JSON 문서를 어떻게 비교하나요?

두 문서를 붙여넣으면 입력이 약 400ms 멈춘 뒤 자동으로 비교합니다. 자동 비교를 끄면 비교 버튼을 사용하세요. 갱신 대기 중인 이전 보고서는 복사하거나 저장할 수 없습니다.

구조 비교는 텍스트 비교와 어떻게 다른가요?

텍스트 비교는 줄과 문자를 맞춥니다. 여기서는 JSON의 키, 타입, 값을 비교하므로 들여쓰기만 바뀐 부분은 결과에 포함되지 않습니다. 문자열 내부의 공백은 의미 있는 값으로 비교합니다.

객체 키가 재정렬되면 변경으로 표시되나요?

아니요. 객체는 키 이름으로 연결하므로 키 순서나 들여쓰기만 달라지면 변경 건수는 0입니다.

배열 순서가 바뀌었을 때는 어떻게 하나요?

기본값은 위치 비교라서 재정렬도 차이로 표시됩니다. 객체 배열은 고유 키 매칭을 선택할 수 있습니다. 문자열이나 숫자로만 된 배열은 계속 위치 기준입니다.

아주 큰 정수도 정확하게 비교할 수 있나요?

네. 숫자를 원문으로 보관하고 십진수 값을 정확하게 비교합니다. 안전한 정수 범위를 넘는 인접한 두 수도 구별하며 보고서에는 원래 자릿수를 문자열로 저장합니다.

비교 결과에서 문제를 발견하셨나요?

JSON 비교로 달라진 필드만 찾아보세요

예제를 불러와 위치 방식과 키 방식을 번갈아 보면 JSON 비교가 배열 재정렬을 어떻게 처리하는지 알 수 있습니다.