본문 바로가기

Java/오류

[오류] JSON parse error: Cannot deserialize value of type `java.util.ArrayList<java.util.Map<java.lang.String,java.lang.Object>>` from Object value (token `JsonToken.START_OBJECT`)

 

JSON parse error: 
Cannot deserialize value of type `java.util.ArrayList<java.util.Map<java.lang.String,java.lang.Object>>` 
from Object value (token `JsonToken.START_OBJECT`)

 

데이터 타입 불일치 오류.

=> Postman에서 보내는 parameter의 데이터 타입을 잘못 써줘서 났던 오류였다. ( [ ] 괄호를 빼먹음 )

컨트롤러에서 parameter를 List<Map<String, Object>> 타입으로 받아줬기 때문에 아래처럼 보내줘야 한다.

** Postman에서 쌍따옴표("")를 사용해야 오류가 안남.

 

[
	{"id" : "testId", "name" : "testNm"}, 
	{"id" : "testId2", "name" : "testNm2"} 
]

 

프론트에서 데이터를 json형태로 서버로 보낸다거나,

서버에서 쿼리를 json 혹은 jsonArray 형태로 만들어 프론트로 전달할 때

자주 발생하니 주의 ***