흔한 다섯 버그, 그리고 빠르게 고치는 법
1. Trailing comma
가장 흔한 JSON 파스 에러. {"a": 1,} 가 'expected property name, got }' 로 죽음. 수정: trailing comma 제거. 예방: JSON 규칙 아는 도구로 저장 시 포맷.
2. Single quote
JS / Python 소스에서 붙여넣기: {'name': 'Pippa'}. 수정 기계적: sed "s/'/\"/g", 또는 sandbox 에서 JSON.stringify(eval(...)), 또는 다시 타이핑.
3. 주석
JSON 의 // 주석 또는 /* ... */ 가 죽음. 수정: 떼어내거나 JSONC (VS Code config) / JSON5 (명시적 파서 opt-in) 로 전환. spec 과 싸우지 마.
4. 문자열 안 escape 안 된 특수 문자
raw newline, raw tab, 외로운 백슬래시. \n, \t, \\ 써. 에러는 보통 실제 실수보다 한 줄 뒤 가리켜.
5. 인코딩 불일치
파일 시작에 BOM (byte order mark) 든 UTF-8 이 strict 파서 깨뜨림. Windows 의 많은 에디터가 BOM 조용히 추가. 수정: 'UTF-8 without BOM' 으로 저장. 에러 메시지는 보통 'unexpected token at position 0'.
30 초 디버그 루프: JSON 파일이 파싱 안 되면
jq . file.json 실행. jq 가 대부분 언어 stdlib 가 안 하는 방식으로 syntax error 의 줄과 컬럼 알려줌. 깊이 중첩된 이슈엔 jq -e 가 파스 실패 시 비-0 종료 — CI 에 유용.