JSON 비교
두 JSON의 구조를 비교하고, 필요한 변경만 골라 확인하세요.
입력한 텍스트와 파일의 계산·변환은 브라우저에서 수행하며, 도구 기능은 입력 원문과 결과를 서버로 전송하지 않습니다. 방문 통계와 광고를 위한 통신은 개인정보처리방침을 확인하세요.
사용법
- 왼쪽에 기준 JSON, 오른쪽에 비교할 JSON을 붙여넣거나 각각의 파일 칸에 로컬 파일을 놓으세요.
- 비교 옵션을 열어 자주 바뀌는 경로를 무시하거나, 배열 항목을
id같은 키로 매칭하세요. 결과는 자동으로 갱신됩니다. - 변경 종류 필터로 필요한 항목을 보고, 나란히 보기에서 정렬된 JSON의 강조 표시를 확인하세요.
- 변경 목록 CSV나 JSON Patch를 저장하세요. 정렬된 JSON은 왼쪽·오른쪽을 각각 복사할 수 있습니다.
예시
시각만 무시하고 가격 변경 찾기
$.meta.updatedAt을 무시하면 아래 입력의 결과는 추가 0개·삭제 0개·변경 1개입니다. 갱신 시각은 목록에서 빠지고 가격 차이만 남습니다.
- 입력
{"price":10,"meta":{"updatedAt":"old"}} → {"price":12,"meta":{"updatedAt":"new"}}- 결과
$.price: 10 → 12
배열의 자리 이동을 제외하기
[{"id":1},{"id":2}]와 [{"id":2},{"id":1}]을 비교하면 순서 모드는 변경 2개, id 키 매칭 모드는 차이 0개입니다. 원본용 JSON Patch에는 오른쪽 배열 순서가 반영됩니다.
자세한 설명
JSON을 줄 단위가 아니라 구조 단위로 비교합니다. 문자열 밖의 공백과 들여쓰기는 차이로 세지 않습니다. 기본적으로 객체 키 순서를 무시하고 배열은 인덱스 순서로 비교하며, 1·1.0·1e0처럼 같은 숫자는 동일하게 봅니다. 숫자 동일 취급을 끄면 표기 차이도 찾습니다. 숫자를 십진수 원문으로 보존하므로 큰 정수를 임의로 반올림하지 않습니다. 숫자가 문자열로 바뀌는 등 타입 변경은 변경 한 건이며, 하위 객체 전체의 추가·삭제도 해당 경로 한 건으로 셉니다. null과 키 누락은 구별합니다.
무시 경로는 단순 문법만 지원합니다. 일치한 값과 하위 구조를 목록에서 제외하지만 정렬 JSON이나 패치에서는 지우지 않습니다. 배열 키 매칭은 비교하는 모든 배열에 적용하며, 각 객체에 고유한 문자열 또는 숫자 키가 있어야 합니다. 키가 없거나 중복이면 오류를 표시합니다. 문자열 대소문자 무시는 유니코드 소문자 변환 기준이며 언어별 정렬이나 문자 정규화는 하지 않습니다. 객체 키 이름은 대소문자를 구별합니다. 객체 키 순서 무시를 끄면 순서가 달라진 객체를 해당 경로의 변경 한 건으로 표시합니다.
JSON Patch는 RFC 6902의 추가·삭제·대체 연산과 RFC 6901의 경로 이스케이프 규칙을 사용합니다. 왼쪽 원본에 순서대로 적용하면 오른쪽의 JSON 값과 배열 순서가 됩니다. 배열 삭제는 뒤 인덱스부터 처리합니다. 비교 옵션으로 숨긴 차이도 패치에 포함하며, 공백이나 객체 키의 표시 순서까지 재현하는 형식은 아닙니다. CSV에는 필터와 관계없이 전체 비교 목록을 넣고 값은 JSON 형식, 누락은 별도 표식으로 구별합니다.
연산은 백그라운드 워커에서 처리합니다. 한쪽당 UTF-8 기준 5 MiB·중첩 128단계·값 150,000개, 숫자 하나당 1,024자까지 지원합니다. 변경 목록 또는 패치 연산은 최대 100,000개입니다. 중복 객체 키는 거부합니다. 표는 100개씩 나누고 긴 셀과 600줄 미리보기를 줄여 표시하지만 저장·복사에는 전체 값을 담습니다. 입력을 서버·주소·브라우저 저장소·로그에 남기지 않습니다.
자주 묻는 질문
차이가 0개인데 패치에 내용이 있는 이유는 무엇인가요?
비교 옵션이 일부 차이를 숨길 수 있습니다. 패치는 원본 기준으로 만들기 때문에 무시한 경로와 배열 순서까지 오른쪽 JSON에 맞춥니다.
모든 JSONPath 문법을 쓸 수 있나요?
아니요. $, 단순 .키이름, 숫자 [0], 배열 [*]만 한 줄에 하나씩 지원합니다. 따옴표로 감싼 키 이름·재귀 탐색·조건식은 지원하지 않습니다.
배열 매칭 키가 없거나 중복되면 어떻게 되나요?
문제가 있는 경로와 오류를 표시합니다. 고유한 문자열 또는 숫자 키를 선택하거나 순서 비교로 바꾸세요. 숫자 1과 문자열 "1"은 다른 키입니다.
파일이 업로드되거나 다음 방문에도 남나요?
파일 읽기와 비교는 브라우저 메모리에서만 합니다. 이 도구에는 광고와 분석이 없습니다. 저장과 클립보드 복사는 해당 버튼을 눌렀을 때만 실행합니다.