직렬화 (Serialization)
- 객체를 다른곳으로 전송하거나 저장하기 위해서 사용한다.
- 직렬화는 객체의 필드를 바이너리 형식이나 바이트스트림을 바꾸는 작업을 말한다.
- 직렬화 되는 대상은 객체의 값이나, 컨텐츠라는 점이며, 클래스 정의는 포함되지 않는다.
역직렬화 (Deserialization)
- 직렬화의 반대로 다시 객체의 형태로 만드는 것을 의미한다.
라는 에러가 발생했다.
ObjectMapper는 기본적으로 대소문자를 구분하므로 아래과 같은 에러가 난다.
ObjectMapper > readValue 설정 후
대소문자 구분안해주는 설정
new ObjectMapper().configure(MapperFeature.ACCEPT_CASE_INSENSITIVE_PROPERTIES, true).readValue(value, classType);
설정후 정상적 으로 값을 가져올 수 있었다.
추가 메모
@JsonIgnoreProperties(ignoreUnknown = true)
json 데이터를 받아와서 객체로 맵핑할 때 클래스에 선언되지 않은 프로퍼티가 json에 있으면 오류 발생 (json 구성 = 클래스 구성)
이럴 때 예외 발생시키지 말고 무시하기 위해 @JsonIgnoreProperties(ignoreUnknown = true) 추가
참고자료