모든 가이드
데이터

파서가 무시하기 전에 중복 JSON 키 찾기

서식으로 인해 중복 키가 숨겨질 수 있습니다. 유지할 값을 선택하기 전에 두 정의를 모두 찾으세요.

이 JSON은 눈으로 확인하기에 충분히 작아 보입니다:

{
  "theme": "light",
  "theme": "dark"
}

하지만 애플리케이션은 어떤 테마를 사용해야 할까요? 객체를 파싱하고 다시 출력하는 포맷터는 값 하나만 남겨서 충돌을 알아차리기 전에 숨겨버릴 수 있습니다.

유효한 문법이 중복을 해결하지는 않습니다

JSON 표준은 객체 내의 이름이 고유해야 한다고 말합니다. 중복된 이름은 문법에 맞을 수 있지만, 수신자마다 처리 방식이 다릅니다: 어떤 이는 마지막 값을 유지하고, 어떤 이는 객체를 거부하며, 또 다른 이는 둘 다 노출합니다.

JavaScript는 이 예제에서 마지막 값을 유지합니다:

JSON.parse('{"theme":"light","theme":"dark"}').theme
// "dark"

이는 파서의 동작일 뿐, 두 번째 값이 올바르다는 증거는 아닙니다. 설정 파일의 경우 첫 번째 값이 유지하려던 값일 수 있습니다.

편집 전에 두 정의를 모두 찾으세요

중복 키 샘플을 다운로드하고 CozyToolkit의 JSON 포맷터에서 열어보세요.

  1. JSON 열기을 사용하거나 내 JSON에 예제를 붙여넣으세요.
  2. 강조 표시된 필드와 편집기 아래의 이슈 목록을 확인하세요. 이 샘플은 3번째 줄, 3번째 열에서 두 번째 키를 표시합니다.
  3. 이슈를 선택하여 해당 위치로 이동하세요. 첫 정의 표시은 2번째 줄, 3번째 열로 이동합니다.
  4. 값을 신뢰할 수 있는 출처(설정, API 스키마, 원본 내보내기)와 비교하세요. 변경 전에 복사본을 보관하세요; 원본 복사는 입력된 그대로의 원본을 보존합니다.
  5. 의도하지 않은 속성을 제거하세요. 이슈가 해결되면 출력을 검토하고 서식 복사 또는 다운로드를 사용하세요.

포맷터는 중복 키가 남아 있는 동안 포맷된 출력을 의도적으로 차단합니다. 키 정렬이나 들여쓰기 변경으로는 모호성을 해결할 수 없습니다.

이 예제에서 다크 모드가 의도된 설정이라고 가정해 봅시다. 수정된 파일에는 해당 속성만 포함되어 있습니다. 우리가 명시적으로 선택했으며, 도구가 대신 결정하지 않았습니다.

별도 객체의 같은 이름은 괜찮습니다

이 두 속성은 서로 다른 객체에 속합니다:

{
  "editor": { "theme": "light" },
  "preview": { "theme": "dark" }
}

어느 객체에도 중복이 없습니다. "theme"라는 단어를 텍스트 검색하면 두 개의 일치 항목이 나오지만, 그것만으로 중복 키를 진단하기에는 충분하지 않습니다. 별도 객체 파일을 포맷터에서 시도해 보세요: 이슈가 없어야 합니다.

여러 값이 정말 필요하다면 배열이 적절할 수 있습니다—하지만 JSON을 수신하는 애플리케이션이 배열을 기대하는 경우에만 가능합니다. 오류를 없애기 위해 키 이름을 바꾸거나 값의 유형을 변경하면 해당 애플리케이션의 계약을 깨뜨릴 수 있습니다.

이스케이프된 이름이 같은 문제를 숨길 수 있습니다

이 객체에는 디코딩된 동일한 키의 두 가지 철자가 있습니다:

{"theme":"light","\u0074heme":"dark"}

이스케이프는 문자 t를 나타냅니다. 디코딩 후 두 이름은 모두 theme입니다. 우리의 검사기도 이를 표시합니다. 이스케이프 키 샘플을 다운로드하여 확인해 보세요.

대용량 내보내기의 경우 반복되는 단어를 검색하는 대신 파서 인식 검사기를 사용하세요. 우리 도구는 최대 5MB 파일, 200,000개 값, 100개 중첩 수준을 지원합니다. 100개 이슈 표시 제한에 도달하면 보고된 이슈를 수정하고 다시 검사하세요. 이러한 한도를 초과하는 파일의 경우, 중복을 명시적으로 감지한 후 폐기하는 로컬 스트리밍 검증기를 사용하세요.

깨끗한 결과가 알려주는 것

중복 키 오류가 없다는 것은 이 특정 모호성이 사라졌다는 뜻입니다. 가격, 권한, URL 또는 설정 값이 올바르다는 증거는 아닙니다. 스키마와 파일을 사용할 애플리케이션에 대해 확인하세요.

2026년 10월 1일에 우리는 네 개의 다운로드 가능한 샘플을 도구와 동일한 검사기로 실행했습니다. 줄과 열 위치를 확인하고, 중복이 포맷을 차단하는지 검증했으며, 수정된 샘플과 별도 객체 샘플이 통과하는지 확인했습니다. 테스트 결과에는 이러한 검사와 JavaScript 파싱 결과가 포함됩니다. 검사는 브라우저에서 이루어집니다; 어떤 AI 모델도 유지할 값을 선택하지 않습니다.