EVERYDAY TOOLS GUIDE

JSON 오류를 읽고 고치는 방법: 쉼표·따옴표·괄호 점검표

JSON은 단순해 보이지만 쉼표 하나나 닫는 괄호 하나가 빠져도 전체가 읽히지 않습니다. 아래 순서대로 보면 오류 위치를 빠르게 좁힐 수 있습니다.

오류 메시지의 위치부터 확인하세요

브라우저는 보통 오류가 난 문자 위치를 알려줍니다. 다만 실제 원인은 그 바로 앞에 있는 경우가 많습니다. 위치가 120번째 문자라면 그 줄과 바로 이전 줄을 함께 확인하세요. 들여쓰기로 정리하면 중첩된 객체와 배열의 닫는 위치가 눈에 잘 들어옵니다.

가장 흔한 세 가지 오류

  1. 마지막 항목 뒤의 쉼표
    {"name":"Your Everyday Tools","active":true,}

    JSON에서는 마지막 값 뒤에 쉼표를 둘 수 없습니다. JavaScript 객체 표기와 혼동하기 쉽습니다.

  2. 문자열에 작은따옴표 사용
    {'name':'Everyday Tools'}

    JSON 문자열과 키는 큰따옴표로 감싸야 합니다. 작은따옴표는 JSON 문법이 아닙니다.

  3. 닫는 괄호 또는 대괄호 누락
    {"items":["one","two"}

    배열은 대괄호로, 객체는 중괄호로 각각 닫아야 합니다. 정리된 결과에서 들여쓰기 깊이가 돌아오는지 확인하세요.

값 자체가 아니라 문법을 검사합니다

JSON 유효성 검사는 키 이름이나 값의 업무 규칙이 맞는지까지 판단하지 않습니다. 이메일 형식, 필수 필드, 숫자 범위는 별도의 JSON Schema 또는 서비스 규칙으로 확인해야 합니다.

민감한 값은 한 번 더 확인하세요

이 도구는 브라우저에서 실행되지만, API 키·비밀번호·주민등록번호처럼 불필요하게 민감한 값은 테스트용 값으로 바꾸는 편이 안전합니다. 화면 공유나 브라우저 확장 프로그램처럼 도구 밖의 노출 경로도 확인하세요.

같은 입력으로 결과를 직접 비교해 보세요

아래 예제는 개인정보가 없는 테스트 데이터입니다. 먼저 쉼표 오류가 있는 입력을 붙여 넣습니다.

{"items":[1,2,],"active":true}

2 뒤의 쉼표를 지우면 유효한 입력이 됩니다.

{"items":[1,2],"active":true}

포맷터의 결과는 다음과 같습니다. 압축기에 다시 넣으면 위의 한 줄 입력으로 돌아갑니다.

{
  "items": [
    1,
    2
  ],
  "active": true
}

큰 ID와 중복 키는 어떻게 처리하나요?

{"id":9007199254740993,"rate":1.00,"a":1,"a":2}

이 사이트의 포맷터와 압축기는 숫자를 재계산하지 않으므로 위 ID, 1.00 표기와 두 개의 a 키를 그대로 유지합니다. 그러나 수신 프로그램은 큰 숫자를 반올림하거나 중복 키 중 하나만 남길 수 있습니다. 서로 다른 시스템에 전달할 ID는 문자열 "9007199254740993"으로 합의하고, 중복 키는 보내기 전에 직접 수정하세요.

기준 자료: RFC 8259: 객체 키의 중복, 숫자의 정밀도와 상호운용성.