Utilo

JSON 비교

두 JSON 문서를 구조적으로 비교합니다. 키와 배열 순서를 무시하고 배열 항목을 id로 매칭하며, 추가·삭제·변경·타입 변경된 필드를 JSON 경로와 함께 접을 수 있는 트리로 보여줍니다.

이 JSON 디프 도구가 하는 일

텍스트 디프 도구는 JSON을 줄로 처리합니다. 따라서 재질서된 키나 재편형된 파일은 빨간색과 녹색의 벽으로 표시됩니다. 이 도구는 대신 두 JSON 문서의 구조를 비교합니다. 두 나무를 모두 걷고, 정확한 JSON 경로와 함께 추가, 제거 및 변경 된 모든 값을 보고하고, ** 타입 **가 변경 된 값을 표시합니다 (열이 된 숫자는 고전적인 API 회귀입니다.) 그리고 결과를 접히는 나무 또는 평면 경로 목록으로 표시합니다. 비교는 웹 워커에서 실행되므로, 큰 유료 부하는 반응이 유지됩니다.

사용 방법

  1. 원본 문서를 A로 붙이고 새 문서를 B로 붙여주세요.
  2. 요약 카운터를 읽으십시오: 추가, 제거, 변경 및 타입 변경.
  3. 다른 가지만 확장하려면 tree 보기 사용하거나 $.items[2].price 같은 복사 편리한 리스트를 위해 paths로 전환하세요.
  4. 배열이 정렬된 목록이 아닌 집합 (태그, 권한) 이면 ** 순서를 무시하십시오.
  5. 키에 따라 ** 매치 **를 설정하십시오 (예를 들어 id) 정체성에 따라 배열 요소를 결합하기 위해, 그래서 하나의 항목을 삽입하면 다음 요소가 변경되지 않습니다.

전형적인 용도

  • **API 회귀 검사: ** 배포 후 스테이지와 생산에서 응답을 비교합니다.
  • Config drift: 2개의 환경 구성 또는 Terraform JSON 계획에서
  • 계약 테스트: 백엔드 스팟 필드는 조용히 삭제되거나 이름을 변경합니다.
  • 장치: 스냅샷 테스트에서 변경된 것을 검토하기 전에 받아 들일 수 있습니다.

팁과 예외 상황

  • 객체 키 순서는 결코 중요하지 않습니다. JSON 객체는 정의에 따라 순서가 없습니다.
  • 1과 1.0는 JSON에서 동등한 숫자이고, "1"와 1는 타입 변경이다.
  • 무시 순서에서 원시 배열은 멀티셋으로 비교되므로 복제 배열은 여전히 계산됩니다.
  • 키별 매칭은 키를 모두 포함하는 객체 배열에만 적용됩니다. 다른 배열은 인덱스 비교로 돌아갑니다.
  • 유효하지 않은 JSON은 실패한 쪽에 대한 분석기의 오류 메시지로 보고됩니다.

자주 묻는 질문

내 데이터가 서버로 전송되는가?

아니, 아니 두 문서는 브라우저에서 분석되고 비교됩니다.

이 도구는 텍스트 디프 도구와 어떻게 다릅니다?

텍스트의 차이점은 선을 비교합니다. 이 도구는 JSON을 이해합니다. 그래서 포맷, 빈 공간, 키 순서는 소음을 내지 않습니다. 그리고 모든 차이가 경로와 함께 나옵니다.

아주 큰 파일을 비교할 수 있나요?

여러 메가바이트의 파일은 잘 작동합니다. 왜냐하면 디프가 메인 스레드에서 벗어나기 때문입니다. 나무는 노드들을 확장하면서 게으른 모습으로 움직입니다.

"형이 바뀌었다"는 말은 무슨 뜻일까요?

값은 양쪽에 존재하지만 JSON 유형은 다릅니다. 예를 들어 배열로 대체 된 객체 또는 문자열로 대체 된 null입니다.

네. 모든 처리는 JavaScript, Web Worker, Web API를 사용해 브라우저에서 직접 이루어집니다. 입력하거나 붙여넣거나 업로드한 내용은 서버로 전송되지 않습니다.

이 페이지는 영어에서 자동 번역되었습니다. 오류를 발견하시면 알려 주세요.