JAVA

JSON 변환 라이브러리 (Gson,Jackson)

JUN0126 2022. 3. 17. 00:30

Gson과 Jasckson 는 둘 다 Java 객체를 JSON을 표현으로 변환할 수 있도록 사용하는 라이브러리이다

 Java 객체 -> JSON : 직렬화 (Serialize)

 JSON -> Java객체 : 역직렬화 (Desrialize)

 간단히 정의하자면 이렇지만 상세한 내용은 따로 정리 해보도록 하자 (중요한 개념이므로)

 

여기서 JSON이란?!

 - JavaScript Object Notation의 약자로 key : value 값으로 데이터를 통신하는 표현 방법이다

 - 데이터를 표현 하는 방식은 XML과 JSON 유형 주로 두가지가 있지만 특정 언어에 구애받지 않으며 간단한 데이터

   표현 방식을 사용하는 JSON 형태의 표현방식을 많이 쓴다.

 

• Gson 이란?

 - Google에서 만든 Java 객체와 JSON의 표현을 바꿀 수 있는 라이브러리

   Gson gson = new Gson();

    1) 직렬화 

      Object obj = new Object();

      String json = gson.toJson(obj);  => Object가 JSON 형태의 String으로 직렬화되어 반환

    2) 역직렬화

      Object obj  = gson.fromJson(json,Object.class ); => JSON형태의 String 변수가 Object.class 형태로 역직렬화되어 반환

 

• Jackson 이란?

  - 자바용 Json 라이브러이지마 Json뿐만 아니라 xml,ymal등 다양한 형식의 데이터를 지원하는 라이브러리이다

 ObjectMapper mapper = new ObjectMapper();

 

사용법  

클래스명 인스턴스변수 = mapper.readValue(new 객체, JSON형태가 변환될 클래스명.class);

클래스명 인스턴스변수  = mapper.readValue(string , JSON형태가 변환될 클래스명.class); // String으로 읽기
  
String jsonString = mapper.writerWithDefaultPrettyPrinter().writeValueAsString(Object);

  

 

참조 : https://www.lesstif.com/java/java-json-library-jackson-24445183.html

'JAVA' 카테고리의 다른 글

이메일 보내기 (SMTP 방식)  (0) 2022.04.03
Retrofit2 (Java)  (0) 2022.04.02
Optional 클래스  (0) 2021.07.14
일급 컬렉션 (First Class Collection)  (0) 2021.07.13
컬렉션 프레임워크  (0) 2021.07.10