JSON 비교 도구 (JSON Diff) - 로컬 시맨틱 비교

브라우저 로컬 환경에서 두 JSON 문서를 비교하세요. 객체의 키를 정렬하여 시맨틱 비교(Semantic Diff)를 수행하며, 키 순서로 인한 노이즈를 방지하고 추가, 삭제, 수정된 필드를 시각적으로 표시합니다. 데이터는 업로드되지 않습니다.

극장 모드를 보려면 클릭하세요.

비교 결과

두 개의 JSON 문서를 붙여넣으면 자동으로 비교합니다.

0
추가됨 (Added)
0
삭제됨 (Removed)
0
수정됨 (Modified)
0
변경 없음 (Unchanged)

JSON 구문 오류: Expected double-quoted property name in JSON at position 111 (line 7 column 5)

JSON 파싱, 정렬 및 비교는 브라우저 로컬에서 실행되며 서버로 업로드되지 않습니다. 페이지를 새로 고치면 입력 내용이 지워집니다.

사용방법

  1. 원본(이전) JSON을 왼쪽에, 수정된(새) JSON을 오른쪽에 붙여넣거나 '예시 불러오기'를 클릭하세요.
  2. 두 JSON 객체의 키 순서가 다를 경우 '정렬 및 포맷팅'을 클릭하여 순서를 통일하세요.
  3. 결과 영역에서 요약을 확인하세요. 녹색은 추가, 빨간색은 삭제, 노란색은 내용 변경을 의미합니다.
  4. 경로 목록을 살펴보고 변경 사항의 정확한 위치를 파악하세요. 전체 구조 확인이 필요한 경우 '변경되지 않은 필드 표시'를 체크하세요.
  5. 비교 보고서를 복사하거나 .txt 파일로 다운로드하여 API 디버깅, 릴리스 노트 또는 구성 검토 기록으로 활용하세요.

핵심 기능

  • 시맨틱 JSON 비교(Semantic JSON Diff): 단순 텍스트 비교가 아닌 JSON을 먼저 파싱하고 경로별로 비교하여, 키 순서 변경으로 인한 불필요한 차이점이 결과에 노출되는 것을 방지합니다.
  • 키 기준 정렬(Sort by Keys): 양쪽 JSON 객체의 키를 알파벳 순서로 정렬하고 서식을 맞춰 의미 없는 순서 차이를 제거합니다.
  • 추가 / 삭제 / 수정 강조 표시: 녹색(추가), 빨간색(삭제), 노란색(수정)을 통해 API 응답 및 설정 변경 사항을 한눈에 파악할 수 있습니다.
  • 경로 기반 탐색: profile.cityitems[0].sku와 같은 경로(Path) 수준으로 차이점을 표시하여 특정 필드를 바로 찾을 수 있습니다.
  • 구문 오류 감지: 비교하기 전에 JSON의 유효성을 검사하며, 어느 한쪽이라도 파싱할 수 없는 경우 명확한 오류 메시지를 표시합니다.
  • 안전한 로컬 비교: 토큰, 데이터베이스 설정 및 비공개 데이터는 브라우저 메모리에만 유지되며 서버로 업로드되지 않습니다.

관련 도구

안전한 JSON 포매터 및 타입 생성기 - 로컬에서 변환

안전한 JSON 포매터: 브라우저 로컬에서 JSON을 포맷팅, 유효성 검사 및 수정하세요. 압축, 에러 강조, TypeScript/Zod 자동 생성, XML 변환 등 모든 기능이 안전하게 처리됩니다.

무료 JSONPath 테스트 도구 | 로컬 실시간 쿼리 평가

API JSON을 위한 무료 JSONPath 테스터 및 평가 도구입니다. 실시간으로 매칭되는 노드를 추출하고 경로를 확인하세요. 파싱과 쿼리는 모두 브라우저에서 안전하게 로컬로 실행됩니다.

JSON을 CSV로 변환 - 로컬 스프레드시트 내보내기

브라우저 로컬에서 JSON 객체 또는 배열을 CSV로 변환합니다. 중첩된 필드를 평면화하고, 결과를 미리 본 후 데이터 업로드 없이 복사하거나 다운로드하세요.

CSV를 JSON으로 변환 - 로컬 실시간 변환기

브라우저 로컬에서 CSV 텍스트나 파일을 JSON 배열로 실시간 변환하세요. 헤더, 쉼표/세미콜론/탭 구분자, 파일 드래그 앤 드롭, 복사 및 다운로드를 지원하며 데이터가 업로드되지 않습니다.

JSON 압축 도구 (Minifier)

서식이 지정된 JSON을 한 줄로 압축하고, 들여쓰기와 줄바꿈을 제거합니다. 원본 크기, 압축 크기, 절약된 바이트 및 절약 비율을 실시간으로 비교하세요.

JSON을 TypeScript로 변환 - 로컬 인터페이스 생성기

무료 JSON to TypeScript 변환 도구입니다. API 페이로드에서 TypeScript 인터페이스와 타입을 즉시 생성하세요. 서버 전송 없이 100% 클라이언트 측에서 안전하게 처리됩니다.

YAML을 JSON으로 변환 - 안전한 클라이언트 파서

브라우저 로컬에서 YAML을 포맷된 JSON으로 변환하세요. 실시간 변환, 다중 문서 YAML, 라인 기반 오류 표시, 복사 및 데이터 저장 없는 JSON 다운로드를 지원합니다.

JSON을 YAML로 변환 - 안전한 로컬 브라우저 도구

브라우저 로컬에서 JSON을 포맷팅된 YAML로 변환합니다. 실시간 변환, 엄격한 유효성 검사, 복사 및 데이터 저장 없는 안전한 YAML 다운로드를 지원합니다.

계산 논리

이 도구는 브라우저 내에서 로컬 시맨틱 JSON 비교 프로세스를 실행합니다.

  • JSON.parse를 사용하여 양쪽 JSON 문서의 유효성을 검사합니다.
  • 객체 키는 알파벳 순서로 정렬되지만, 배열의 순서는 유지됩니다.
  • JSON 구조를 items[0].sku와 같은 경로(Path)와 값(Value) 형태로 평면화(Flatten)합니다.
  • 각 경로를 추가됨, 삭제됨, 수정됨, 변경 없음으로 분류합니다.
  • 모든 데이터는 현재 브라우저 세션 내에서만 처리되며, 페이지를 새로 고침하면 입력 및 결과가 모두 지워집니다.
  • 배열의 순서는 종종 비즈니스 로직에서 의미를 갖기 때문에 자동으로 재정렬되지 않습니다. 초거대 JSON 파일의 경우 브라우저 성능에 따라 처리에 제한이 있을 수 있습니다.

FAQ

기밀 JSON 데이터가 유출될 위험이 있나요?

아닙니다. 파싱, 정렬 및 비교 작업은 모두 현재 브라우저에서 로컬로 수행됩니다. JSON 데이터는 서버로 업로드되지 않으며, 페이지를 새로 고치면 입력한 내용이 초기화됩니다.

일반 Diff 도구에서는 왜 모든 항목이 변경된 것으로 나오나요?

일반 텍스트 비교(Diff) 도구는 키 순서의 변화도 텍스트 줄 변경으로 간주하기 때문입니다. 이 도구는 먼저 객체 키를 정렬한 후 JSON 경로별로 비교하므로, 단순히 순서만 바뀐 경우 이를 변경으로 인식하지 않습니다.

JSON 비교 시 키 순서를 무시할 수 있나요?

네. 객체의 키를 비교하기 전에 알파벳 순서로 정렬하므로, 키의 순서가 다르더라도 내용이 같으면 시맨틱 차이가 없는 것으로 표시됩니다.

배열의 순서도 무시하나요?

아닙니다. 배열의 순서는 비즈니스적인 의미를 갖는 경우가 많으므로, 배열 순서를 유지한 채 인덱스를 기준으로 비교합니다.

구문 오류가 있는 JSON도 비교할 수 있나요?

아닙니다. 어느 한쪽이라도 JSON을 파싱할 수 없는 경우, 비교 결과 대신 구문 오류 메시지가 표시됩니다. 먼저 JSON의 구문 오류를 수정한 후 비교해 주세요.

비교 결과를 내보낼 수 있나요?

네. 차이점 보고서를 복사하거나 .txt 파일로 다운로드할 수 있습니다.