Developer Utility

JSON Diff 비교 도구

두 JSON 데이터를 비교해 추가, 삭제, 변경된 값을 확인하고 API 응답, 설정 파일, 테스트 데이터의 차이를 빠르게 점검할 수 있는 JSON 비교 도구입니다.

JSON 구조 비교 객체, 배열, 중첩 필드의 구조 차이와 값 변경 여부를 경로 기준으로 확인합니다.
변경점 분류 추가, 삭제, 변경, 동일 항목을 구분해 API 응답 차이를 빠르게 파악합니다.
정렬·복사·다운로드 JSON 자동 정렬, 비교 결과 복사, 리포트 다운로드까지 한 번에 처리할 수 있습니다.

JSON 입력

비교할 원본 JSON과 변경 JSON을 각각 입력하세요.

경로 기준 비교 user.profile.name, items[0].price처럼 JSON 경로 단위로 변경점을 표시합니다.
타입 차이 확인 문자열, 숫자, 불리언, null, 객체, 배열의 타입 변경도 변경 항목으로 표시합니다.
원본 키 0개 변경 키 0개 비교 대기 중

비교 결과

추가, 삭제, 변경된 JSON 경로와 값을 확인할 수 있습니다.

대기 중
0 추가
0 삭제
0 변경
0 동일
두 JSON 데이터를 입력한 뒤 비교하기 버튼을 눌러주세요.

JSON 비교 방식

비교 결과는 단순 문자열 비교가 아니라 JSON 구조를 파싱한 뒤 경로와 값 기준으로 표시합니다.

추가된 값

변경 JSON에만 존재하는 필드나 배열 항목입니다. 신규 API 필드, 새 설정값 확인에 유용합니다.

삭제된 값

원본 JSON에는 있었지만 변경 JSON에서 사라진 필드입니다. 누락 필드나 삭제된 설정을 확인할 수 있습니다.

변경된 값

같은 경로에 있지만 값 또는 타입이 달라진 항목입니다. 버전 변경, 응답 변경, 설정 변경 확인에 적합합니다.

도움말

JSON Diff 비교 도구란?

JSON Diff 비교 도구는 두 개의 JSON 데이터를 비교해 어떤 값이 추가, 삭제, 변경되었는지 확인할 수 있는 무료 개발자 유틸리티입니다.

API 응답 비교, 설정 파일 변경 확인, 배포 전후 데이터 구조 점검, 테스트 결과 비교, 프론트엔드와 백엔드 데이터 계약 확인에 활용할 수 있습니다.

지원 기능

  • 두 JSON 데이터 구조 비교
  • 추가된 값, 삭제된 값, 변경된 값 분류
  • 객체와 배열 내부 경로 표시
  • 문자열, 숫자, 불리언, null, 객체, 배열 타입 차이 표시
  • 양쪽 JSON 자동 정렬
  • 비교 결과 요약 카운트 표시
  • 결과 텍스트 복사 및 리포트 다운로드

이런 작업에 활용할 수 있습니다

  • API 응답 변경 사항 확인
  • JSON 설정 파일 수정 전후 비교
  • 백엔드와 프론트엔드 데이터 구조 점검
  • 테스트 데이터와 실제 응답 데이터 비교
  • 배포 전후 JSON 값 변경 확인
  • 복잡한 JSON 객체의 누락 필드 확인
JSON 비교 결과는 어떻게 표시되나요?

비교 결과는 JSON 경로를 기준으로 표시됩니다. 예를 들어 user.name 값이 변경되면 해당 경로에 변경 전 값과 변경 후 값이 함께 표시됩니다.

배열도 비교할 수 있나요?

배열은 items[0], items[1]처럼 인덱스 기준으로 비교됩니다. 배열 순서가 바뀐 경우에는 실제 값이 같더라도 변경으로 표시될 수 있습니다.

JSON 정렬 기능은 언제 사용하나요?

JSON 정렬 기능은 한 줄로 압축된 JSON이나 들여쓰기가 깨진 JSON을 보기 좋게 정리할 때 사용합니다.

타입 차이 표시는 무엇인가요?

같은 경로의 값이 1에서 "1"로 바뀐 경우 값은 비슷해 보여도 타입은 숫자에서 문자열로 변경된 것입니다.

JSON 문법 오류가 있으면 어떻게 되나요?

JSON 문법이 올바르지 않으면 비교가 진행되지 않습니다. 따옴표 누락, 마지막 쉼표, 닫히지 않은 중괄호나 대괄호를 확인하세요.

민감한 데이터를 입력해도 되나요?

이 도구는 브라우저에서 입력한 JSON을 비교하는 용도입니다. 그래도 비밀번호, API 키, 인증 토큰, 개인정보는 입력 전에 제거하거나 마스킹하는 것을 권장합니다.

EDITORIAL GUIDE

JSON 구조 차이를 경로와 타입으로 정확히 확인하는 법

두 JSON 문서를 파싱한 뒤 객체 키, 배열 인덱스, 값과 데이터 타입을 비교해 추가·삭제·변경 경로를 찾는 도구입니다. 문자열 모양이 아니라 파싱 결과를 비교하므로 공백과 들여쓰기는 무시하지만, 배열은 순서가 의미 있는 값으로 취급합니다.

이런 분께 유용합니다

  • API 응답이나 설정 파일의 변경점을 확인하는 개발자
  • 배포 전후 JSON 데이터 계약을 비교하는 테스트 담당자
  • 값뿐 아니라 숫자·문자열 같은 타입 변경을 찾으려는 사용자

대표 활용 상황

  • API 응답에 필드가 추가되거나 누락됐는지 확인할 때
  • 환경별 설정 JSON의 값과 타입 차이를 검토할 때
  • 압축된 JSON을 정렬하고 변경 리포트로 저장할 때

처음부터 결과 확인까지

  1. 1

    비밀번호·토큰·개인정보를 제거하거나 마스킹한 두 JSON을 준비합니다.

  2. 2

    원본과 변경 JSON을 각각 입력하고 문법 오류가 없는지 확인합니다.

  3. 3

    타입 차이·동일 항목·자동 정렬 옵션을 목적에 맞게 선택합니다.

  4. 4

    비교를 실행해 추가·삭제·변경 수와 root 기준 경로를 확인합니다.

  5. 5

    배열 변경은 인덱스 기준이라는 점을 고려해 순서 변경인지 실제 값 변경인지 구분합니다.

  6. 6

    리포트를 복사하거나 저장하고 실제 API 스키마·테스트 결과와 함께 검토합니다.

실제 예시 1

API 버전 필드 변경

입력
원본 {"version":1,"active":true} / 변경 {"version":"1","active":true}
결과
root.version의 값과 타입이 number에서 string으로 변경

JSON의 숫자 1과 문자열 "1"은 서로 다른 타입이므로 화면상 비슷해도 변경으로 분류합니다.

실제 예시 2

배열 순서 변경

입력
원본 {"items":["A","B"]} / 변경 {"items":["B","A"]}
결과
items[0]과 items[1]이 각각 변경

JSON 배열은 순서를 보존하므로 같은 원소 집합이라도 위치가 바뀌면 인덱스별 차이로 표시됩니다.

계산·처리 기준

브라우저의 JSON.parse로 RFC 8259 형식의 값을 파싱하고 객체는 양쪽 키의 합집합, 배열은 같은 인덱스, 원시값은 엄격한 일치로 재귀 비교합니다. 경로는 root.user.name과 root.items[0]처럼 표시합니다. 각 입력은 500,000자, 중첩은 100단계로 제한하고 키 수 계산은 반복 순회해 깊은 입력의 브라우저 부담을 줄입니다.

알아둘 한계

  • 배열 원소를 ID로 매칭하지 않으므로 앞쪽 삽입이나 순서 변경은 이후 여러 인덱스 차이로 나타날 수 있습니다.
  • JSON 객체의 키 순서는 의미가 없지만 배열 순서는 의미가 있는 것으로 처리합니다.
  • 중복 키가 있는 JSON은 파서가 마지막 값을 남길 수 있으므로 원문의 중복 키 문제를 찾는 검증기가 아닙니다.
  • 스키마 적합성, 필수 필드, 숫자 범위와 API 하위 호환성은 별도 JSON Schema 검사나 테스트가 필요합니다.
개인정보 처리

입력과 비교는 현재 브라우저에서만 처리하며 win-j 서버로 전송하거나 저장하지 않습니다. 그래도 API 키, 세션 토큰, 사용자 정보와 내부 주소는 입력 전에 반드시 제거하세요.

함께 쓰면 좋은 도구

자주 묻는 질문

JSON 속성 순서가 다르면 변경인가요?

객체 키 순서는 무시합니다. 파싱된 같은 키와 값이면 작성 순서와 들여쓰기가 달라도 동일합니다.

배열을 순서와 무관하게 비교할 수 있나요?

현재는 JSON 의미에 맞춰 인덱스 순서로 비교합니다. ID 기반 집합 비교가 필요하면 먼저 업무 규칙에 따라 배열을 정렬해야 합니다.

유효한 JSON인지도 확인하나요?

JSON.parse가 양쪽 문법을 확인하고 오류가 있으면 비교를 중단합니다. 다만 JSON Schema 적합성까지 검사하지는 않습니다.