JAVA

GSON 라이브러리에 대해(편리한 JSON 변환에 관해)

쿠카이든 2022. 9. 15. 16:48
728x90
GSON 라이브러리란?

 

  • Gson은 Java에서 Json을 파싱하고, 생성하기 위해 사용되는 구글에서 개발한 오픈소스입니다.
  • Java Object를 Json 문자열로 변환할 수 있고, Json 문자열을 Java Object로 변환할 수 있습니다.

 

 Gson 라이브러리 추가하기 
  Maven 에 설정 추가

JSON 파싱에 사용할 json-simple 라이브러리를 추가하기 위해 pom.xml 파일에 아래와 같이 dependency를 추가합니다.

<dependency>
	<groupId>com.google.code.gson</groupId>
	<artifactId>gson</artifactId>
	<version>2.8.7</version>
</dependency>

 

Object -> Json 변환하기

  Student 클래스  

public class Student {
	private int id;
	private String name;

	public Student(int id, String name) {
		this.id = id;
		this.name = name;
	}

    @Override
    public String toString() {
        return "Student [id=" + id + ", name=" + name + "]";
    }
}

id와 name, 이렇게 2개의 field를 가지고,

이 2개의 field의 값을 세팅하는 Constructor를 가지고 있습니다.

 

 

  Student 클래스를 Json 문자열로 변환  
import com.google.gson.Gson;

public class ObjectToJson {

public static void main(String[] args) {

    // Student 객체 생성
    Student student = new Student(1, "Anna");

    // Gson 객체 생성
    Gson gson = new Gson();

    // Student 객체 -> Json 문자열
    String studentJson = gson.toJson(student);

    // Json 문자열 출력
    System.out.println(studentJson); // {"id":1,"name":"Anna"}
	}
}
  • String studentJson = gson.toJson(student);
  • student 객체를 Json 문자열로 변환하였습니다.
  • Student 클래스는 id, name 이렇게 2개의 field를 가지고 있고,
  • student 객체는 id는 1, name은 "Anna"라는 값을 가지고 있습니다.
  • 이를 이용하여, Json 객체가 생성되었습니다.

 

Json -> Object 변환하기

  Student 클래스  

public class Student {
	private int id;
	private String name;

    public Student(int id, String name) {
        this.id = id;
        this.name = name;
    }

    @Override
    public String toString() {
    	return "Student [id=" + id + ", name=" + name + "]";
    }

}

 

  Json 문자열을 Student 클래스로 변환  

import com.google.gson.Gson;

public class JsonToObject {
    public static void main(String[] args) {

        // Json 문자열
        String jsonStr = "{\"id\":1,\"name\":\"Anna\"}";

        // Gson 객체 생성
        Gson gson = new Gson();

        // Json 문자열 -> Student 객체
        Student student = gson.fromJson(jsonStr, Student.class);

        // Student 객체 toString() 출력
        System.out.println(student); // Student [id=1, name=Anna]
        }
    }

Student student = gson.fromJson(jsonStr, Student.class);

Json 문자열을 Student 클래스로 변환하였습니다.

 

출처: https://hianna.tistory.com/629

 

[Java] Gson 라이브러리 사용법 및 예제 ( Json 생성, 변환 )

이번에는 Gson 라이브러리로, Java에서 Json을 다루는 방법을 알아보도록 하겠습니다. Gson은 Gson 라이브러리 추가하기 Gson 객체 생성하기 Json 생성하기 Object -> Json 변환하기 Json -> Object 변환하기 Map..

hianna.tistory.com

 

728x90

'JAVA' 카테고리의 다른 글

람다식 중간연산 정리 (map, filter, reduce, collect)  (0) 2022.10.19
map() 과 flatMap() 의 차이  (2) 2022.09.22
Java 엑셀 파일(Excel) 다운로드  (0) 2022.09.05
JAVA stream filter 정리  (0) 2022.09.01
HashMap 사용 방법 및 예제  (0) 2022.08.16