쩨이엠 개발 블로그

JSON parse error : Cannot deserialize instance of 'java.util.ArrayList' out of START_OBJECT token 본문

개발/JAVA

JSON parse error : Cannot deserialize instance of 'java.util.ArrayList' out of START_OBJECT token

쩨이엠 2020. 4. 30. 10:07
728x90
반응형

| MismatchedInputException: Cannot deserialize instance of 'java.util.ArrayList' out of START_OBJECT token

 

curl 명령어를 날렸는데 Jackson MismatchedInputException 에러가 떨어졌다

converting 에러인 것 같아서 확인해보았다

 

 

넣으려는 데이터

'{"reqId":"1588126260","reqTime":1588126260,"payloads":{"collTime":1588126260,"data":[{"property":"WP080","value":"false"}]}}'

 

받을 객체

@Getter
@Setter
public class Wrapper {
    private String reqId; 

    private long reqTime; 

    private List<Payload> payloads = new ArrayList<>();

    @Getter
    @Setter
    public static class Payload{
        private long collTime;

        private List<PayloadData> data = new ArrayList<>();
    }

    @Getter
    @Setter
    public static class PayloadData{
        private String property;

        private String value;
    }
}

이 때 객체에서 payloads 는 List로 받아야 하는데 payloads가 오브젝트여서 생긴 이슈였다

 

넣으려는 데이터에서 payloads를 []로 감싸주거나

받을 객체를 private Payload payloads 로 바꿔주면 데이터를 정상적으로 받을 수 있다

 

데이터와 객체를 확인할 것

728x90
반응형
Comments