반응형

Jackson 이란?

- JAVA 대표적인 JSON 라이브러리

- 다른 형식의 데이터(XML, CSV)를 지원하는 data-processing 툴

- annotation 방식으로 사용, 각종 문서화와 유효성 체크 가능

- 스트림 방식으로 속도가 빠르고 유연

 

Object Mapper

Jackson objectmapper는 Java 오브젝트와 JSON 간에 직렬화, 역직렬화를 해주는 역할을 합니다.

 

사용예제

ObjectMapper objectMapper = new ObjectMapper();
objectMapper.setSerializationInclusion(Include.NON_NULL); // NULL 제외
objectMapper.enable(SerializationFeature.WRAP_ROOT_VALUE); // @JsonRootName 애노테이션 사용

JsonSample jsonSample = new jsonSample('sampleId');
objectMapper.writeValueAsString(jsonSample);

@JsonRootName(value="jsonRootName")
class JsonSample{
    private String id;
    
    public JsonSample(String _id){
    	this.id = _id;
	}
}


// @JsonRootName, SerializationFeature.WRAP_ROOT_VALUE 적용 전
{
	"id" : "sampleId"
}

// @JsonRootName 적용 전, SerializationFeature.WRAP_ROOT_VALUE 적용 후
{
	"jsonSample":{
    	"id" : "sampleId"
    }
}

// @JsonRootName, SerializationFeature.WRAP_ROOT_VALUE 적용 후
{
	"jsonRootName":{
    	"id" : "sampleId"
    }
}

 

728x90
반응형

+ Recent posts