JSON 파싱 오류 “Expected Property Name” 고치기
보통 이 오류는 파서가 유효한 JSON이 아닌 객체 키(따옴표 없는 키, 주석, 후행 쉼표, 엄격한 JSON 안의 JavaScript 문법)에 도달했다는 뜻입니다.
이 오류의 의미
JSON 객체 멤버는 항상 큰따옴표 친 속성 이름으로 시작해야 합니다. 파서가 expected property name 또는 expected property name or '}'라고 말할 때는 보통 여는 중괄호나 콤마 직후에 서서 "name" 같은 키를 기다리고 있습니다. name, // 주석, /* 주석 */, 또는 후행 콤마 뒤의 닫는 괄호를 보면 멈춥니다 — 이런 패턴은 JavaScript의 것이지 엄격한 JSON의 것이 아닙니다.
가장 흔한 원인
이 오류를 디버깅하는 가장 빠른 방법은 보고된 행과 열의 문자를 보고, 한 토큰 앞을 살펴보는 것입니다. 대부분의 신고는 다음 네 가지 작은 실수 중 하나에서 옵니다.
- 따옴표 없는 객체 키, 예: { name: "Ada" }
- 작은따옴표 키나 문자열, 예: { 'name': 'Ada' }
- JavaScript나 JSONC 파일에서 복사된 주석
- } 또는 ] 앞의 후행 콤마
잘못된 예
{ name: 'Ada', active: true, // copied from a JS object }
수정된 JSON
{ "name": "Ada", "active": true }
수리 체크리스트
모든 키에 큰따옴표를 두고, 작은따옴표 문자열을 큰따옴표 문자열로 바꾸고, 주석을 제거하고, 후행 콤마를 없애며, 불리언과 null이 소문자인지 확인하세요. 수리 후에는 설정 파일에 저장하거나 API로 보내거나 DB 마이그레이션에 붙여 넣기 전에 엄격한 검증을 한 번 더 실행하세요.
자동 수리가 안전한 경우
의도가 명확한 구문 정리라면 자동 수리는 안전합니다. 그것을 업무 검증과 혼동하지 마세요. 키 이름, 숫자, 날짜, 열거값이 모호할 수 있다면 구문만 고친 다음, 수리 출력을 소스 시스템이나 API 스키마와 비교하세요.
JSON 수리 가이드
토픽 허브
- JSON Parse Errors: Read the Message, Jump to the Fix
- Fix Invalid JSON: From 'What's Wrong' to a Clean File
- JSON Formatter, Validator, Viewer: Pick the Right Tool
- Repair LLM JSON Output: Handling Almost-JSON from AI
- Privacy: JSON Tools That Don't Leave Your Browser
- JSON Interop: YAML, CSV, XML, JWT, Schema
구체적인 가이드
- Base64 문자열 디코드 방법 (그리고 JWT 페이로드)
- URL 인코딩: 쿼리 파라미터와 경로를 퍼센트 인코드하기
- YAML을 JSON으로 변환하기 (그리고 들여쓰기 오류 피하기)
- JSON을 CSV로 변환: 객체 배열을 펴기
- JSON을 XML로 변환: 루트, 속성, 배열
- JSON을 문자열 리터럴로 이스케이프하기 (그리고 이중 인코드된 JSON 디코드)
- JSON의 후행 쉼표 고치기
- JSON의 작은따옴표 고치기
- JSON의 따옴표 없는 키 고치기
- LLM이 만든 JSON 고치기
- JSON vs JavaScript 객체 리터럴
- API 요청 전에 JSON 검증하기
- JSON 포맷터 vs JSON Repair
- JSON Unexpected Token 오류 고치기
- JSON에서 JavaScript 객체 변환기