ㅇ.ㅇ
[Spring] was expecting (JSON String, Number, Array, Object or token 'null', 'true' or 'false')” 본문
Error
[Spring] was expecting (JSON String, Number, Array, Object or token 'null', 'true' or 'false')”
yun_ 2025. 4. 5. 18:23반응형

에러 내용
프론트에서 POST 방식으로 서버에 JSON 데이터를 전송했을 때, 아래와 같은 에러 메시지가 발생했다.
was expecting (JSON String, Number, Array, Object or token 'null', 'true' or 'false')”
에러 파악
이 에러는 서버가 JSON 데이터를 받겠다고 선언해 뒀지만, 실제로는 비어 있거나 형식이 잘못된 본문(body)이 들어왔을 때 발생한다. 주로 아래와 같은 상황에서 발생할 수 있다.
1. 요청 본문이 비어 있음
서버 측 컨트롤러가 @RequestBody로 JSON 데이터를 받게 되어 있을 때, 요청 본문이 비어 있으면 json 파서가 파싱 할 수 없어서 위 에러가 발생한다.
2. 본문이 JSON 형식이 아님
Content-Type은 application/json으로 설정했지만, 본문 내용이 JSON 포맷이 아닐 경우 에러가 발생한다.
- 예시
- 문자열에 따옴표가 빠진 경우
- JSON 문법에 맞지 않는 주석이 포함된 경우
- form-urlencoded 형식 데이터가 JSON으로 잘못 전송된 경우 등이 있다.
해결 방법
본문에 올바른 JSON 데이터를 담아보내면 된다..
아래와 같은 상황에서도 해당 에러가 발생할 수 있다.
- 버는 객체 하나를 기대하는데, 프론트에서 배열(JSON array)을 전달한 경우
- 본문이 빈 문자열 ""일 경우
- API Gateway 또는 프록시가 요청 본문을 변경하거나 제거한 경우
- 본문에 공백만 있거나 문법적으로 올바르지 않은 JSON이 포함된 경우
JSON 데이터는 사소한 문법 오류에도 민감하게 반응하므로, 올바른 JSON 포맷인지 확인해야 할 것이다.
반응형
'Error' 카테고리의 다른 글
[Java] non-varargs call of varargs method with inexact argument type for last parameter (0) | 2025.03.19 |
---|---|
[Tomcat] 적어도 하나의 JAR가 TLD들을 찾기 위해 스캔되었으나 아무 것도 찾지 못했습니다. (0) | 2025.02.23 |
[Servlet] checkUnusualURLPattern 의심스러운 URL 패턴 (0) | 2025.01.26 |
[Build] CreateProcess error=2, 지정된 파일을 찾을 수 없습니다 (0) | 2024.12.12 |
[Gradle] Multiple build operations failed. Could not move temporary workspace (0) | 2024.11.29 |