ERROR - Updated 2026-05-14
JSON unexpected end of input
JSON unexpected end of input 오류가 닫히지 않은 괄호, 문자열, 잘린 API 응답, 빈 응답 때문에 나는지 확인하는 방법.
Open JSON Error DoctorJSON unexpected end of input은 JSON 파서가 아직 더 읽어야 할 값이 있다고 판단했는데 문자열이 끝났다는 뜻입니다. 보통 닫히지 않은 중괄호, 대괄호, 따옴표가 있거나 API 응답이 중간에 잘렸을 때 발생합니다. 빈 응답을 JSON으로 파싱하는 경우에도 같은 계열의 오류가 날 수 있으므로 응답 길이와 status code를 함께 확인해야 합니다.
증상
Unexpected end of JSON input또는JSON unexpected end of input메시지가 표시됩니다.- JSON 파일 끝부분에서 오류가 납니다.
- API 응답이 가끔만 실패하고 재시도하면 성공합니다.
204 No Content응답에서response.json()을 호출할 때 실패합니다.
원인
JSON 구조가 끝까지 완성되지 않았거나, 파싱 대상 문자열이 비어 있거나, 네트워크/서버 문제로 응답이 중간에 끊겼을 수 있습니다.
| 원인 | 예 | 확인 방법 |
|---|---|---|
| 닫히지 않은 객체 | { "name": "Alice" | 마지막 중괄호 확인 |
| 닫히지 않은 배열 | [1, 2, 3 | 마지막 대괄호 확인 |
| 닫히지 않은 문자열 | { "name": "Alice } | 따옴표 짝 확인 |
| 빈 응답 | empty body | status code와 body length 확인 |
| 잘린 응답 | 절반만 내려온 JSON | Network 탭 response 확인 |
바로 해결 방법
- JSON Error Doctor에 실제 JSON 문자열을 붙여넣습니다.
- 파일 끝부분의 괄호와 따옴표가 모두 닫혔는지 확인합니다.
- API 응답이면 body가 비어 있는지, 중간에 잘렸는지 확인합니다.
204 No Content나 빈 문자열은 JSON으로 파싱하지 않도록 분기합니다.- 서버 로그에서 응답 생성 중 예외가 났는지 확인합니다.
FixData 도구로 확인하기
JSON Error Doctor는 닫히지 않은 JSON 구조를 찾는 데 도움이 됩니다. 오류 위치가 파일 끝으로 잡힌다면 마지막 줄만 보지 말고, 그보다 앞에서 열린 {, [, "가 닫혔는지 확인하세요.
API 응답 문제라면 도구에 넣기 전에 Network 탭의 실제 response body를 복사해야 합니다. 코드에서 만든 객체나 콘솔 출력만 보면 빈 응답 문제를 놓칠 수 있습니다.
수동 해결 방법
닫히지 않은 괄호 찾기
잘못된 JSON:
{
"user": {
"name": "Alice"
}
올바른 JSON:
{
"user": {
"name": "Alice"
}
}
중첩된 구조에서는 들여쓰기를 맞추면 빠르게 발견할 수 있습니다.
빈 응답 파싱하지 않기
삭제 API나 저장 API가 204 No Content를 반환한다면 body가 없을 수 있습니다.
const response = await fetch("/api/item/1", { method: "DELETE" });
if (response.status !== 204) {
const data = await response.json();
}
잘린 응답 확인하기
큰 JSON을 내려받는 중 서버가 타임아웃되거나 프록시가 연결을 끊으면 응답이 중간에 끝날 수 있습니다. 이 경우 JSON 문법만 고쳐서는 해결되지 않습니다.
예제
문제 JSON:
{
"items": [
{ "id": 1, "name": "A" },
{ "id": 2, "name": "B" }
수정한 JSON:
{
"items": [
{ "id": 1, "name": "A" },
{ "id": 2, "name": "B" }
]
}
자주 하는 실수
- 파일 끝에서 오류가 난다고 마지막 줄만 확인합니다.
- 빈 응답을 성공 JSON처럼 처리합니다.
- 서버가 HTML 오류 페이지를 보내는 상황과 잘린 JSON을 구분하지 않습니다.
- 로그에는 객체로 정상 출력되는데 실제 응답 문자열은 다른 경우를 놓칩니다.
관련 도구
- JSON Error Doctor: 닫히지 않은 JSON 구조와 빈 입력 문제를 확인할 수 있습니다.
관련 글
- JSON / API Error Center
- JSON Unexpected token 오류
- JSON trailing comma 오류
- API 응답이 JSON이 아니라 HTML일 때
- API 디버깅에서 JSON 오류를 확인하는 순서
업데이트 날짜
2026-05-14