JSON 도구

JSON 병합남길 값을 먼저 확인하세요

객체 깊이, 충돌 우선순위와 배열 규칙을 선택하고 결과를 확인한 뒤 내보내세요.

JSON 병합

왼쪽 JSON 입력

오른쪽 JSON 입력

병합 결과 미리 보기

편집기에는 일부만 표시합니다. 복사와 다운로드에는 검증된 전체 결과가 포함됩니다.

두 문서는 브라우저 메모리에서 처리하며 업로드하거나 저장하지 않습니다.

깊은 모드는 객체를 재귀적으로 합칩니다. 얕은 모드는 루트 필드를 합치고 같은 이름의 하위 객체는 통째로 선택합니다. 배열 쌍에는 배열 설정이 계속 적용됩니다. null은 삭제가 아닌 값입니다.

이어붙이기는 중복을 포함해 왼쪽, 오른쪽 순으로 유지합니다. 키 맞추기는 왼쪽 순서를 유지하고 오른쪽에만 있는 ID를 추가합니다. 일치하는 레코드는 깊은 모드에서 재귀 병합하고 얕은 모드에서는 통째로 선택합니다.

결과가 오래되었습니다. 복사와 다운로드가 비활성화되었습니다.

환경별 설정을 겹칠 때 JSON 병합에서 중요한 것은 하위 객체를 통째로 바꿀지, 양쪽의 고유 필드를 남길지입니다. 모양이 비슷한 입력도 이 선택에 따라 설정이 사라질 수 있습니다. 충돌 목록에서 실제로 값을 선택한 위치를 확인하세요.

레코드 목록에서는 배열 위치보다 ID가 중요할 수 있습니다. 객체의 깊은 병합과 배열 이어붙이기를 별도로 지정하면 관습에 기대지 않고 이번 데이터에 맞는 규칙을 선택할 수 있습니다. 이 도구는 배열을 자동으로 중복 제거하거나 위치로 맞추지 않습니다.

JSON 병합을 사용하는 이유

하위 구조 교체의 영향을 확인

JSON 병합은 실제로 전체 값을 선택한 위치에 충돌을 기록합니다. 얕은 모드에서 하위 객체를 교체하면 컨테이너 충돌 하나로, 재귀 병합에서는 서로 다른 하위 값으로 표시합니다. 같은 값과 한쪽에만 있는 필드는 충돌이 아닙니다.

중첩 설정 트리에서 가지 전체를 교체하는 결과와 양쪽 잎을 재귀적으로 유지하는 결과를 비교합니다.

맞춘 레코드의 출처를 유지

JSON 병합은 키를 맞출 때 큰 숫자 ID도 정확히 구분합니다. 결과 경로와 양쪽 원본 경로를 각각 남겨 같은 ID가 다른 배열 인덱스에 있어도 정확한 원본 값을 찾을 수 있습니다.

같은 색의 식별 표시가 서로 다른 입력 위치의 레코드를 연결하고, 결과는 왼쪽 순서 뒤에 새 레코드를 추가합니다.

병합 규칙을 명확히 고르기

01

깊이와 배열을 따로 선택

얕은 병합은 루트 필드를 합치되 같은 이름의 하위 객체는 통째로 선택합니다. 배열 쌍에는 배열 설정이 계속 적용됩니다. 깊은 모드는 객체를 재귀 처리하지만 배열 방식까지 자동 결정하지는 않습니다.

02

식별 키의 조건 확인

키는 비어 있지 않은 직접 필드 이름이며 경로식이 아닙니다. 각 배열 안에서 ID가 고유해야 합니다. 같은 배열의 1과 1.0은 중복이므로 전체 작업이 실패합니다. 누락된 ID도 건너뛰지 않습니다.

03

원본 경로를 읽고 재사용

Ctrl/Cmd+Enter로 실행할 수 있습니다. 맞춘 레코드의 양쪽 원본 경로를 확인한 다음 전체 결과를 저장하세요. 세 번째 문서를 합치려면 결과를 왼쪽 입력으로 미리 보고 적용합니다. 실행 취소는 양쪽 입력, 설정과 출력을 함께 복원합니다.

충돌과 배열 순서 제어

두 가지 객체 깊이

깊은 모드는 대응하는 객체의 고유 필드를 각 단계에서 유지합니다. 얕은 모드는 루트 필드만 합치고 충돌하는 하위 객체는 우선하는 쪽 전체를 선택합니다. 얕은 모드에서도 배열 설정이 유효한 것은 이 도구의 명시적인 규칙입니다.

세 가지 배열 합치기

교체는 우선하는 쪽 배열 전체를 선택합니다. 이어붙이기는 중복도 포함해 왼쪽 뒤에 오른쪽을 추가합니다. 키 맞추기는 왼쪽 레코드 순서를 유지하고 오른쪽에만 있는 ID를 원래 순서대로 추가합니다. 우선순위를 바꿔도 연결 방향은 바뀌지 않습니다.

정확한 숫자와 문자 그대로의 키

숫자를 부동소수점으로 변환하지 않습니다. ID는 수학적 값으로 비교하며 거대한 지수를 많은 0으로 펼치지 않습니다. 출력에는 선택한 숫자의 원래 표기가 남고, 숫자 모양 키, 빈 키와 __proto__도 원본 순서대로 안전하게 처리합니다.

추적 가능한 충돌 해결

충돌마다 결과 Pointer와 별도의 왼쪽 및 오른쪽 Pointer를 기록합니다. 원본 값은 제한된 미리 보기로 표시합니다. 배열 전체 교체를 하위 요소 병합처럼 표시하지 않으며, 전체 결과 문서는 이 요약과 별도로 내보냅니다.

명확한 처리 범위와 한도

패치 표준이 아닌 자체 규칙
null은 값이며 키를 삭제하지 않습니다. 객체, 배열 또는 스칼라를 루트에 사용할 수 있습니다. 유형이 다르면 우선하는 쪽 전체를 고릅니다. RFC 7396 Merge Patch나 RFC 6902 JSON Patch를 생성하거나 실행하지 않고 충돌을 배열로 감싸지도 않습니다.
엄격한 문법과 출력 한도
각 입력과 정렬된 출력은 500,000자, 노드 50,000개, 깊이 100까지입니다. 숫자 토큰은 1,000자까지 허용합니다. 주석, 후행 쉼표, BOM과 중복 키는 거부합니다. 합친 문서도 다시 검사하며 한도를 넘으면 부분 결과를 제공하지 않습니다.
모호한 ID 거부
ID 이름은 비어 있지 않은 직접 키여야 합니다. 실제로 쌍을 이뤄 병합하는 배열만 검사하며 한쪽이 빈 배열이어도 다른 쪽을 검사합니다. 한쪽에만 있는 배열은 그대로 복사합니다. 검사 대상은 객체만 가능하고 ID는 고유한 문자열이나 숫자여야 합니다.
같음과 충돌의 정의
객체 키 순서는 같음 판단에 영향을 주지 않지만 배열 순서는 중요합니다. 1, 1.0, 1e0은 같고 -0과 0도 같습니다. 문자열은 숫자와 다릅니다. 같은 원자 값은 우선하는 쪽 표기를 보존합니다. 얕은 키 맞추기에서는 레코드 전체를 선택합니다.
처리 예산과 지원하지 않는 작업
충돌은 최대 5,000개이며 누적 경로와 저장한 값 미리 보기는 각각 2,000,000자까지입니다. 충돌이 없는 경로도 셉니다. 인덱스 병합, 중복 제거, 중첩 ID 식, 파일 가져오기, URL 조회, 자동 정렬과 개별 충돌 편집은 지원하지 않습니다. 붙여넣은 두 문서씩 처리합니다.

JSON 병합 자주 묻는 질문

중첩된 JSON 객체 두 개는 어떻게 합치나요?

JSON 병합의 깊은 모드에서는 대응하는 객체 필드를 재귀적으로 합칩니다. 얕은 모드에서는 같은 이름의 하위 객체를 통째로 선택하므로 선택되지 않은 가지에만 있던 필드가 사라질 수 있습니다. 배열은 별도로 선택한 설정을 따릅니다.

배열을 합칠 때 어떤 방식을 선택해야 하나요?

완전히 덮어쓰려면 교체, 모든 항목을 남기려면 이어붙이기, 고유 ID가 있는 레코드라면 키 맞추기를 선택하세요. 키 맞추기는 위치 비교나 값 중복 제거가 아닙니다. 잘못된 ID는 레코드를 버리는 대신 작업을 실패시킵니다.

동일한 키의 값이 다르면 어느 입력이 우선인가요?

기본은 오른쪽 우선이며 왼쪽 우선으로 바꿀 수 있습니다. 한쪽에만 있는 필드는 유지합니다. 전체 값을 선택해야 하는 서로 다른 값만 충돌로 기록하며, 우선순위는 이어붙이기 방향이나 키 맞추기 순서를 바꾸지 않습니다.

입력한 JSON이 외부 서버로 전송되나요?

전송하지 않습니다. 브라우저 메모리에서 처리하고 복사나 다운로드를 선택할 때 결과를 꺼냅니다. 입력을 저장하지 않아 새로고침하면 예제로 돌아갑니다. 필요한 전체 결과는 페이지를 떠나기 전에 저장하세요.

이 도구로 처리할 수 없는 작업은 무엇인가요?

여러 파일 일괄 가져오기, 원격 URL, 패치 실행, 개별 충돌 편집과 배열 위치 병합은 지원하지 않습니다. 문서가 세 개 이상이면 결과를 왼쪽 입력으로 미리 보고 적용한 뒤 오른쪽을 다음 문서로 바꿔 다시 실행하세요.

예상하지 못한 병합 결과가 있나요?

다음 교체 위치 확인하기

JSON 병합 예제에서 키 맞추기를 선택하고 양쪽 원본 경로를 비교한 뒤 전체 결과를 내보내세요.