JSON 비교(diff)
두 JSON 구조적 비교
+1 추가-1 삭제≠2 변경(키 순서·공백은 무시하고 값으로 비교)
변경 내역
+soup"돼지"
-spicyfalse
≠price8000→9000
≠toppings[1]"깍두기"→"김치"
구조적으로 비교하므로 객체 키 순서와 공백·들여쓰기 차이는 무시하고 실제 값만 비교합니다. 배열은 인덱스 위치로 맞춰 비교하며, 경로는 user.roles[1] 형식으로 보여줍니다. 모든 처리는 브라우저 안에서만 이뤄집니다.
사용법
- 왼쪽 '이전 JSON(A)'과 오른쪽 '이후 JSON(B)' 칸에 비교할 두 JSON을 붙여 넣습니다.
- 추가(+)·삭제(-)·변경(≠)된 항목이 경로별로 색으로 구분되어 바로 나타납니다.
- 「결과 복사」로 변경 내역을 텍스트로 복사할 수 있습니다.
자주 묻는 질문
- Q. 객체 키 순서가 다르면 다른 것으로 나오나요?
- A. 아니요. 이 도구는 텍스트가 아니라 구조로 비교하기 때문에 키 순서와 공백·들여쓰기 차이는 무시하고 실제 값만 비교합니다. {"a":1,"b":2}와 {"b":2,"a":1}은 같은 것으로 판단합니다.
- Q. 텍스트 비교 도구와 무엇이 다른가요?
- A. 텍스트 비교(diff)는 줄 단위로 글자를 비교해 공백·줄바꿈·키 순서만 달라도 차이로 표시합니다. JSON 비교는 데이터 구조를 재귀적으로 파고들어 어떤 키가 추가·삭제·변경됐는지를 user.roles[1] 같은 경로로 정확히 짚어 줍니다.
- Q. 배열은 어떻게 비교하나요?
- A. 배열은 같은 인덱스 위치끼리 비교합니다. 예를 들어 [1,2,3]과 [1,9,3]은 [1] 위치의 값이 2에서 9로 바뀐 것으로 표시합니다. 항목이 늘거나 줄면 해당 인덱스가 추가·삭제로 나옵니다.
- Q. 입력한 JSON이 서버로 전송되나요?
- A. 아니요. 파싱과 비교 모두 브라우저 안에서만 처리되며 입력한 JSON은 서버로 전송·저장되지 않습니다. 민감한 데이터도 안전하게 비교할 수 있습니다.
이 도구에 틀린 정보가 있나요? 알려주세요.