[Java / 자바] ObjectMapper 클래스

개발 노트/Java  2015.04.21 00:24

안녕하세요. 명월입니다.
이전 포스트에서 클라이언트에서 자바스크립트의 내장 클래스를 이용해 데이터를 JSON형식으로 변환하여 클래스형식으로 변환하는 것에 대해 공부하였습니다.


링크 - [Javascript / 자바스크립트] JSON.stringify 함수

링크 - [Javascript / 자바스크립트] JSON.parse 함수


이번 포스트에서는 클라이언트가 아닌 서버 단에서 오브젝트 형식을 JSON으로 변환 또는 JSON형식을 오브젝트 형식으로 변환하는 방법에 대해 알아보겠습니다.


Java언어에서 Json을 다루는 라이브러리는 크게 두 가지가 있습니다. JavaEE에서 제공하는 Javax.json이랑 공개라이브러리인 Jackson.json이 있습니다.
이 둘의 차이는 표준이냐 아니냐와 성능 차이가 있습니다. JavaEE에서 제공하는 Json 변환 라이브러리는 유연성이 매우 좋고, 표준 라이브러리라 어느 프로젝트에서든 적용하기 편리한 장점이 있으나 단점으로는 많은 부분은 재구현을 해야 하고 성능도 사용자의 역량에 판이하기 때문에 초심자가 사용하기엔 어려움이 있습니다. 그의 반해 오늘 소개할 Jackson.json의 경우는 성능이 좋고, 이미 구현된 부분이 많아서 클래스 선언만으로도 사용하기 편리한 장점이 있으나, 표준 라이브러리가 아니기에 프로젝트 적용 시에 많은 부분을 고려하지 않으면 안 되는 라이브러리입니다.


JavaEE로 Json을 다루는 방법에 대해서는 다음 포스트에서 공부하고 오늘은 이 Jackson을 통해 Json을 다루는 방법에 대해 공부하겠습니다.
먼저 예제를 만들겠습니다.



위 예제를 담기 위한 클래스를 먼저 만들어야겠습니다.




위 소스를 실행하기 위해서 Json의 라이브러리를 연결해야 합니다.



Maven Repository - jackson-databind

Maven Repository - jackson-core

Maven Repository - jackson-annotations


ObjectMapper라는 클래스를 통해서 JacksonJson의 매핑 클래스를 선언합니다. 다른 다형성 함수도 있으나 저는 일단 String으로돈 Json값을 넣어 Class를 만드는 함수를 사용하였습니다. Json의 키는 변수명이 되는 것이고 값은 값이 되는 구조입니다.


반대로 Class를 String으로 바꾸는 함수에서도 변수명이 Json의 키가 되고 값은 그대로 값이 되어 String 형식이 됩니다.


----------------결과 이미지는 추후에 입력하겠습니다-----------------------------공사중 2016/03/23


댓글 0개가 달렸습니다.
댓글쓰기