베오
DCode
베오
전체 방문자
오늘
어제
  • 분류 전체보기 (218)
    • 공지사항 (1)
    • 잡설 (1)
    • Programming (33)
      • [C] (1)
      • [Java] (4)
      • [Python] (2)
      • [Android] (2)
      • [Network] (0)
      • [Operation System] (2)
      • [Spring Boot] (22)
      • [Docker] (0)
    • Algorithm (31)
      • 자료구조 (2)
      • 알고리즘 (Java) (14)
      • 알고리즘 (기초) (15)
    • Coding Test (131)
      • BOJ (131)
      • Algospat (0)
    • 이론적인거 (14)
      • 보안 (5)
      • 오류 해결 (2)
      • 디자인 패턴 (5)
      • 네트워크 (1)
      • 기타 (1)
    • 최신기술 (4)
      • 블록체인 (1)
    • [Project] (1)

블로그 메뉴

  • 🐈‍⬛ GitHub
  • 📫 방명록
  • 🔖 태그

공지사항

인기 글

티스토리

hELLO · Designed By 정상우.
베오

DCode

Programming/[Spring Boot]

Gson

2023. 3. 16. 10:25
💡
JSON String ↔ Java Object 상호 변환해주는 라이브러리

Gson 공식 사이트

https://github.com/google/gson

GitHub 코드 정리

https://github.com/qpdh/Spring-Boot-Study/tree/main/gson

설치 방법

Gradle

dependencies {
  implementation 'com.google.code.gson:gson:2.10.1'
}

Maven

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

프로젝트 생성하기

Intellij 를 이용하여 Maven 또는 Gradle 프로젝트를 생성한다.

pom.xml에 dependency를 추가한 모습


Java Object를 JSON String으로 변환하기

User 클래스를 하나 생성한다.

package org.example;

public class User {
    String name;
    String email;
    int age;
    boolean isDeveloper;

		public User(String name, String email, int age, boolean isDeveloper) {
		        this.name = name;
		        this.email = email;
		        this.age = age;
		        this.isDeveloper = isDeveloper;
    }

		@Override
    public String toString() {
        return "User{" +
                "name='" + name + '\'' +
                ", email='" + email + '\'' +
                ", age=" + age +
                ", isDeveloper=" + isDeveloper +
                '}';
    }
}

name, email은 String object이다.

age는 int 데이터이다.

isDeveloper는 boolean 데이터이다.

User 객체 생성하기

main 클래스에 userObject라는 객체를 생성한다.

package org.example;

public class Main {
    public static void main(String[] args) {
        User userObject = new User("KDH", "qpdh1924@gmail.com", 99, true);
    }
}

Gson을 통해 JSON String으로 변환하기

Gson 객체를 생성하고 toJson 메서드를 이용하여 userJson을 생성한다.

Gson gson = new Gson();
String userJson = gson.toJson(userObject);
System.out.println(userJson);

출력해보기

출력 결과는 다음과 같다.

{"name":"KDH","email":"qpdh1924@gmail.com","age":99,"isDeveloper":true}

정상적으로 Json으로 바뀐 것을 알 수 있다.


JSON String을 Java Object로 변환하기

String userJson = "{'name':'KDH','email':'qpdh1924@gmail.com','age':99,'isDeveloper':true}";

Gson gson = new Gson();
User userObject = gson.fromJson(userJson, User.class);

System.out.println(userObject);

toJson과 다르게 fromJson은 해당 Json String을 어떤 형식으로 매핑할 지 클래스를 명시해주어야 한다.

출력해보기

출력 결과는 다음과 같다.

User{name='KDH', email='qpdh1924@gmail.com', age=99, isDeveloper=true}


Uploaded by N2T

'Programming > [Spring Boot]' 카테고리의 다른 글

테스트코드 작성 (이론편)  (0) 2023.03.16
컨트롤러 테스트 코드 작성  (0) 2023.03.16
서비스 테스트 코드 작성  (0) 2023.03.16
리포지토리 테스트 코드 작성  (0) 2023.03.16
JPA save vs saveAndFlush  (0) 2023.03.16
    'Programming/[Spring Boot]' 카테고리의 다른 글
    • 테스트코드 작성 (이론편)
    • 컨트롤러 테스트 코드 작성
    • 서비스 테스트 코드 작성
    • 리포지토리 테스트 코드 작성
    베오
    베오

    티스토리툴바