이번 포스트에서는 클라이언트가 아닌 서버 단에서

오브젝트 형식을 JSON으로 변환 또는 JSON형식을 오브젝트 형식으로 변환하는 방법에 대해 알아보겠습니다.

 

 

 


 

 

Java언어에서 Json을 다루는 라이브러리는 크게 두 가지가 있습니다.

- JavaEE에서 제공하는 Javax.json이랑

- 공개라이브러리인 Jackson.json이 있습니다.

 

 

 

 


 

 

이 둘의 차이는 표준이냐 아니냐와 성능 차이가 있습니다.

JavaEE에서 제공하는 Json 변환 라이브러리는 유연성이 매우 좋고, 표준 라이브러리라 어느 프로젝트에서든 적용하기 편리한 장점이 있으나 단점으로는 많은 부분은 재구현을 해야 하고 성능도 사용자의 역량에 판이하기 때문에 초심자가 사용하기엔 어려움이 있습니다.

 

그의 반해 오늘 소개할 Jackson.json의 경우는 성능이 좋고, 이미 구현된 부분이 많아서 클래스 선언만으로도 사용하기 편리한 장점이 있으나, 표준 라이브러리가 아니기에 프로젝트 적용 시에 많은 부분을 고려하지 않으면 안 되는 라이브러리입니다.

 

 

 

 


 

 

 

사용 예

 

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

 

먼저 예제를 만들겠습니다.

 

 

json 파일
{"result1":"test1","result2":"test2","result3":["test3","test4],"result4":{"subresult3":"test3","subresult4":"test4"}}

 

 

 

json파일을 담기 위한 클래스

import java.util.List;
import java.util.Map;

public class JsonObject {

  private String result1;

  private String result2;

  private List<String> result3;

  private Map<String,String> result4;

  public String getResult1() {

    return result1;

}

public void setResult1(String result1) {

  this.result1 = result1;

}

public String getResult2() {

  return result2;

}

public void setResult2(String result2) {

  this.result2 = result2;

}

public List<String> getResult3() {

  return result3;

}

public void setResult3(List<String> result3) {

  this.result3 = result3;

}

public Map<String, String> getResult4() {

  return result4;

}

public void setResult4(Map<String, String> result4) {

  this.result4 = result4;

}

}

 

 

메인 코드

 

 

 

 

 

(참고)

https://nowonbun.tistory.com/289

 

[Java] ObjectMapper 클래스

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

nowonbun.tistory.com