본문 바로가기
SpringBoot

[Spring Boot][Error] JSON parse error: Unexpected character

by 청양호박이 2019. 11. 30.

API를 만들고 테스트를 하다 가끔 만날 수 있는 error입니다. 사실 error가 발생하면, 나오는 간단 설명을 읽어보면 어디서 왜 발생했는지 알 수 있습니다.

 

Resolved [org.springframework.http.converter.HttpMessageNotReadableException: JSON parse error: Unexpected character ('}' (code 125)): was expecting double-quote to start field name; nested exception is com.fasterxml.jackson.core.JsonParseException: Unexpected character ('}' (code 125)): was expecting double-quote to start field name

 

이런 error가 발생하면, Postman에서는 다음과 같이 표시됩니다.

    "status"400,

    "error""Bad Request",

 

과연 이 error는 왜 발생했을까?? 내용은 field name을 시작하려면, " 요거를 넣으라는 건데... 어라 난 필요한 value를 다 추가했는데 뭘까... 이렇다는 건 request body에 내가 작성한 json을 잘 살펴보아야 한다.

 

[AS - IS]

{
	"pm10Value" : "22",
	"pm25Value" : "9",
}

여러가지 다양한 언어를 사용하다보면, 어떤 언어는 list를 작성할때 마지막에 ( , )를 넣어줘도 정상적으로 동작을 하는가 하면 어떤 언어는 error가 발생합니다. 위와같은 error는 더이상 추가할 value가 없음에도 불구하고 마지막에 ( , )를 추가하여, 내부적으로 다음 value를 기다렸으나 ( } ) 가 와서 발생한 것입니다.

 

JSON에서는 입력 value가 끝나는 부분에는 ( , )를 찍지 않도록 합니다.

 

[To-Be]

{
	"pm10Value" : "22",
	"pm25Value" : "9"
}

이런 ( , )하나로 몇시간 동안 고민하면 참 머리가 아프죠... ㅠㅠ

 

-Ayotera Lab-

댓글