ERROR - Updated 2026-05-14

JSON trailing comma 오류

JSON trailing comma 오류가 나는 이유와 마지막 항목 뒤 쉼표를 찾아 제거하는 방법, JavaScript 객체와 JSON의 차이.

Open JSON Error Doctor

JSON trailing comma 오류는 객체나 배열의 마지막 항목 뒤에 쉼표가 남아 있을 때 발생합니다. JavaScript 객체에서는 trailing comma가 허용되는 경우가 있지만, 표준 JSON에서는 허용되지 않습니다. Unexpected token } 또는 Unexpected token ]가 마지막 쉼표 근처에서 난다면 trailing comma를 먼저 의심하세요.

증상

  • JSON 검사기에서 마지막 줄 근처에 오류가 표시됩니다.
  • Unexpected token } in JSON at position ... 또는 Unexpected token ]...가 납니다.
  • 코드에서는 자연스럽게 보이지만 API 요청 본문이나 설정 파일에서 실패합니다.
  • 복사한 JavaScript 객체를 JSON으로 붙여넣을 때 자주 발생합니다.

원인

JSON은 마지막 항목 뒤 쉼표를 허용하지 않습니다. 다음처럼 마지막 프로퍼티 뒤에 쉼표가 있으면 잘못된 JSON입니다.

{
  "name": "Alice",
}

배열에서도 마찬가지입니다.

[
  "ko",
  "en",
]

바로 해결 방법

  1. 오류 위치 근처의 } 또는 ] 바로 앞을 봅니다.
  2. 마지막 항목 뒤 쉼표가 있으면 제거합니다.
  3. JavaScript 객체에서 복사한 내용이라면 키와 문자열 따옴표도 함께 확인합니다.
  4. JSON Error Doctor로 다시 validate합니다.
  5. API 요청 body라면 전송 전에 JSON.stringify()를 사용했는지 확인합니다.

FixData 도구로 확인하기

JSON Error Doctor에 JSON을 붙여넣으면 trailing comma처럼 위치가 작은 문법 오류를 빠르게 찾을 수 있습니다. 정상으로 바꾼 뒤 pretty format을 적용하면 남은 구조 문제도 보기 쉬워집니다.

도구가 오류 위치를 보여주더라도 주변 줄을 함께 보는 것이 좋습니다. 실제 원인은 표시된 문자 바로 앞 쉼표인 경우가 많습니다.

수동 해결 방법

객체의 마지막 쉼표 제거

잘못된 JSON:

{
  "id": 1,
  "name": "Alice",
}

올바른 JSON:

{
  "id": 1,
  "name": "Alice"
}

배열의 마지막 쉼표 제거

잘못된 JSON:

[
  "csv",
  "json",
]

올바른 JSON:

[
  "csv",
  "json"
]

코드에서 JSON 만들기

문자열을 직접 이어 붙여 JSON을 만들면 trailing comma가 쉽게 생깁니다. 가능하면 객체를 만든 뒤 JSON.stringify()로 직렬화하세요.

예제

API 요청 body를 직접 문자열로 만든 경우:

const body = `{
  "email": "user@example.com",
  "name": "Alice",
}`;
JSON.parse(body);

이 코드는 마지막 쉼표 때문에 실패합니다. 객체를 사용하면 실수를 줄일 수 있습니다.

const body = JSON.stringify({
  email: "user@example.com",
  name: "Alice",
});

자주 하는 실수

  • JavaScript 객체에서 되던 문법을 JSON에도 그대로 사용합니다.
  • 마지막 쉼표만 제거하고 작은따옴표나 주석 문제는 놓칩니다.
  • JSON 설정 파일에 주석과 trailing comma를 함께 넣습니다.
  • 오류가 난 위치의 문자만 보고 바로 앞 쉼표를 보지 않습니다.

관련 도구

  • JSON Error Doctor: trailing comma와 기본 JSON 문법 오류를 확인할 수 있습니다.

관련 글

업데이트 날짜

2026-05-14