본문 바로가기
Develop/Java

[Jackson] com.fasterxml.jackson.core.JsonParseException 에러

by 연로그 2021. 3. 9.
반응형

com.fasterxml.jackson.core.JsonParseException: Unrecognized field ... 에러

 

존재하지 않는 필드 명이 존재해서 JSON으로 파싱 에러가 난 것이다.

JSON->객체 변환 시 객체의 필드에 선언되지 않은 내용은 무시해주는 설정을 해야한다.

 

해결 방법은 두 가지가 있다.

 

1. @JsonIgnoreProperties(ignoreUnknown = true) 추가

아래 예시와 같이 객체 클래스에 어노테이션을 추가한다.

import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;

@JsonIgnoreProperties(ignoreUnknown = true)
public class Blog {
    private String userName;
    // getter / setter 메소드 ...
}

 

2. ObjectMapper에 Feature 설정

ObjectMapper mapper = new ObjectMapper();

// 방법 1
mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);

// 방법 2
mapper.disable(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES);

 

 


참고 

stackoverflow.com/questions/5455014/ignoring-new-fields-on-json-objects-using-jackson

 

Ignoring new fields on JSON objects using Jackson

I'm using Jackson JSON library to convert some JSON objects to POJO classes on an android application. The problem is, the JSON objects might change and have new fields added while the application is

stackoverflow.com

 

반응형