[Java] Gson 라이브러리 사용법 및 예제 (Json 생성, 변환)
2023. 2. 9. 00:22 - DoosanBaek
1. Gson이란
Gson은 Java에서 Json을 파싱하고, 생성하기 위해 사용되는 구글에서 개발한 오픈 소스다.
Java Object를 Json 문자열로 변환할 수 있고, Json 문자열을 Java Object로 변환할 수 있다.
2. Gson 라이브러리 추가하기
Maven
JSON 파싱에 사용할 json-simple 라이브러리를 추가하기 위해
pom.xml 파일에 아래와 같이 dependency를 추가한다.
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.8.7</version>
</dependency>
Gradle
dependencies {
implementation 'com.google.code.gson:gson:2.8.7'
}
직접추가도 가능
https://search.maven.org/artifact/com.google.code.gson/gson/2.8.7/jar
Maven Central Repository Search
search.maven.org
해당 링크에서 jar를 직접 다운받고, 라이브러리에 추가 가능
3. Gson 객체 생성하기
Gson 객체를 생성하는 방법은 2가지가 있다.
new Gson()
new GsonBuilder.create()
new GsonBuilder() 을 이용하여 Gson 객체를 생성하면, 몇가지 옵션을 추가해서 객체를 생성할 수 있다.
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
public class CreateGson {
public static void main(String[] args) {
// new
Gson gson1 = new Gson();
// GsonBuilder
Gson gson2 = new GsonBuilder().create();
Gson gson3 = new GsonBuilder().setPrettyPrinting().create();
}
}
4. Json 생성하기
import com.google.gson.Gson;
import com.google.gson.JsonObject;
public class GsonExample {
public static void main(String[] args) {
Gson gson = new Gson();
// Json key, value 추가
JsonObject jsonObject = new JsonObject();
jsonObject.addProperty("name", "anna");
jsonObject.addProperty("id", 1);
// JsonObject를 Json 문자열로 변환
String jsonStr = gson.toJson(jsonObject);
// 생성된 Json 문자열 출력
System.out.println(jsonStr); // {"name":"anna","id":1}
}
}
jsonObject.addProperty("name", "anna");
JsonObject 객체를 생성하여,
이 객체에 프로퍼티를 추가한다
'TIL' 카테고리의 다른 글
AWS ec2 ubuntu환경 디스크가 가득찼을때, 용량 늘리는 방법 (0) | 2023.07.26 |
---|---|
JS 파일 코드 난독화를 적용하여 보안 강화하기 (0) | 2023.02.21 |
편하게 readme 작성할수 있게 하는 확장프로그램 (0) | 2023.02.11 |
WebSocket을 사용해 게임 플레이어의 실시간 방 참여를 활성화 하기 (0) | 2023.01.30 |
Mybatis의 장점, 단점 Jpa의 장점, 단점 (0) | 2023.01.27 |
Java SSL 인증서 파일 등록 하는법 정리(Keytool, Portecle 이용) (0) | 2023.01.26 |
RDS - MySQL (0) | 2023.01.07 |
N + 1 문제가 발생하는 이유 / 해결하는 방법 (0) | 2023.01.04 |