본문으로 건너뛰기
jsonbeautifiers
한국어
V8 Node v24.15.0, V8 13.6.233.17에서 파서를 실행해 확인했습니다.

Expected ',' or '}' after property value in JSON at position N (line L column C)

파서가 객체 안에서 값을 다 읽고, 멤버 목록이 쉼표로 이어지거나 중괄호로 끝나기를 기다렸습니다. 그런데 다른 것이 왔습니다. 이 메시지는 객체 내부에 대한 V8의 포괄적인 안내라서, 서로 다른 여러 실수를 한데 묶고 있습니다.

JSON을 붙여넣고 어디서 깨지는지 정확히 확인하기

입력

붙여 넣은 것은 여러분의 브라우저를 떠나지 않습니다. connect-src 허용 목록 덕분에 이는 약속이 아니라 브라우저가 강제하는 보장입니다. 직접 확인하기

실제 원인

어느 쪽이 답인 경우가 많은지, 그 순서대로 정리했습니다.

  1. 01 속성 사이의 쉼표 누락

    가장 흔한 원인이고, 보통 손으로 편집한 결과입니다.

    깨지는 예

    { "a": 1 "b": 2 }

    되는 예

    { "a": 1, "b": 2 }
  2. 02 파일이 잘림

    보고된 위치가 입력의 맨 끝이라면, 값 뒤에 아무것도 없었다는 뜻입니다. 그건 문법 실수가 아니라 잘린 문서입니다. 저희 검증기는 둘을 구별하고 어떤 괄호가 열린 채 남았는지 나열합니다.

    깨지는 예

    { "a": 1

    되는 예

    { "a": 1 }
  3. 03 값 뒤의 주석

    JSON에는 주석이 없어서, 값 뒤의 "// 메모"가 이 오류를 냅니다.

  4. 04 16진수 등 JSON에 없는 형태의 숫자

    파서는 0을 완결된 숫자로 읽고 나서 x를 만납니다. 그건 쉼표도 중괄호도 아닙니다. JSON에는 16진 리터럴이 없습니다.

    깨지는 예

    { "mask": 0x1F }

    되는 예

    { "mask": 31 }

다른 런타임에서의 같은 실수

밑바탕의 문제는 똑같고, 다른 건 문구뿐입니다. 동료가 이 중 하나를 들고 왔다면, 그 사람이 보고 있는 건 여러분이 보는 것과 같습니다.

Python Expecting ',' delimiter: line 1 column 10 (char 9)
V8, inside an array Expected ',' or ']' after array element in JSON at position N

자주 묻는 질문

쉼표 누락과 잘린 파일은 어떻게 구별하나요?
보고된 위치를 입력의 길이와 비교해 보세요. 같다면 문서가 일찍 끝난 것입니다. 저희 검증기는 둘 중 무엇인지 알려 주고, 잘린 문서라면 닫히지 않은 괄호 하나하나와 그것이 열린 줄까지 짚어 줍니다.

지금 고치기

위의 도구에 페이로드를 붙여넣거나, 이 일을 위해 만들어진 도구로 바로 가세요.

정확한 위치 찾기