본문 바로가기

Springboot

[Spring Boot] JSON parse error: Unexpected character 해결

반응형

1. 에러 발생

spring boot에서 api 만들고 postman에서 테스트하려고 하는데,

분명히 Request body에 잘 담아서 던진 것 같은데 400에러가 발생했다. 

스프링부트에서 확인했더니 JSON parse error: Unexpected character 라는 에러가 떠있었다.

 

 

2. 해결

말 그대로 Request body에 Unexpected character 가 있어서 에러가 나는 것이다.

에러를 잘 보면 아주 쉽게 해결할 수 있다.

에러문을 확인해보면 어떤 문자때문에 에러가 발생했는지 나오는데,

이런 경우 크게 두 가지가 있을 것으로 예상된다. ','와 ' '이다.

 

(1) ',' : 마지막에 , 가 있는지 확인해보기 

예를 들어, 아래처럼 request body의 마지막에 ,가 있는지 확인해본다.

{
    "id": 1,
    "name": "crystal",
    "cnt" : 2,
}

JSON은 마지막에 ,를 넣어주면 아직 입력이 끝나지 않은 것으로 알고 계속 다음을 기다린다. 따라서 마지막에 ,를 넣어주지 않기!

 

(2) ' ': 스페이스가 불필요하게 들어가 있는지 확인해보기.

나의 경우가 이 경우인데, 에러에 그냥 ' '만 되어있었다. 바로 스페이스가 잘못들어가 있다는 것.

value가 끝날 때마다 스페이스가 들어가 있는지 확인해보자...

그러니까 ',' 뒤에 스페이스가 들어가 있다면 에러가 발생한다는 것.

아래 색깔 처리된 부분처럼 스페이스가 들어가 있으면 안 된다!

{

"id": 1,          

"name": "crystal",

"cnt" : 2

}

 

 

 

화이팅!

728x90
반응형