JSON 구조 비교
객체 키 순서와 공백을 무시하고 JSON의 추가·삭제·변경을 비교하세요. 배열 위치와 큰 숫자의 차이도 확인합니다.
입력은 저장·전송하지 않습니다. 결과 공유에는 요약만 포함됩니다.
결과
입력 후 실행하면 여기에 결과가 표시됩니다.
원문 보고서 보기·직접 복사
결과 공유
도구 링크와 결과 텍스트를 함께 공유합니다. 결과는 URL에 넣지 않습니다. 아래 내용을 확인하고 공유하세요.
사용 예시와 처리 기준
이전 {"name":"도구","count":2,"tags":["a","b"]}와 이후 {"count":3,"name":"도구","tags":["a","c"],"active":true}를 비교하면 /count 변경, /tags/1 변경, /active 추가의 3개 차이가 나옵니다. name의 키 순서는 결과에 영향을 주지 않습니다.
자주 묻는 질문
줄 비교와 무엇이 다른가요?
JSON 구문을 먼저 읽고 객체의 키·배열의 위치·값의 타입을 비교합니다. 공백과 객체 키 순서는 무시합니다. 문자열 "1"과 숫자 1은 다르고, 배열은 순서를 유지해 위치별로 비교하므로 중간 삽입 시 뒤 항목도 변경으로 나올 수 있습니다.
큰 정수와 소수는 정확히 비교하나요?
숫자 토큰을 부동소수점으로 바꾸지 않습니다. 9007199254740992와 9007199254740993은 다르며 1, 1.0, 1e0은 같습니다. -0과 0도 같은 값으로 비교합니다. 비교하는 숫자 지수는 절댓값 99,999,999까지 지원합니다.
JSON 경로와 제한은 무엇인가요?
경로는 JSON Pointer이며 /는 ~1, ~는 ~0으로 이스케이프합니다. 빈 경로는 문서 전체입니다. 각 입력 200,000자·깊이 100·값 20,000개까지 읽으며 중복 키는 거부합니다. 화면은 차이 100개, 보고서는 1,000개까지 표시하며 전체 차이 개수와 잘림 여부를 따로 알립니다.
계산 기준과 참고 자료
- RFC 8259 — JSON
JSON 문법과 상호운용 시 숫자 정밀도 고려사항
- RFC 6901 — JSON Pointer
객체 키·배열 위치 경로 및 ~0·~1 이스케이프