JSON 또는 JavaScript Object Notation은 사람이 읽을 수 있는 데이터 교환을 위해 설계된 가벼운 텍스트 기반 개방형 표준입니다. C, C++, Java, Python, Perl 등을 포함하여 JSON에서 사용하는 규칙은 프로그래머에게 알려져 있습니다.
JSON 개체를 처리하는 데 사용할 수 있는 여러 Java 라이브러리가 있습니다. Google Gson은 Java 객체를 JSON으로 또는 그 반대로 직렬화하는 간단한 Java 기반 라이브러리입니다. Google에서 개발한 오픈 소스 라이브러리입니다.
Java 객체를 JSON으로 변환
Google의 Gson 라이브러리는 라이브러리의 메인 클래스인 동일한 이름(Gson)의 클래스를 제공합니다.
이 클래스는 toJson()이라는 메서드를 제공합니다. 이 방법에는 여러 가지 변형이 있으며 그 중 하나는 Java 개체를 수락하고 이를 JSON 개체로 변환하여 반환합니다.
따라서 GSON 라이브러리를 사용하여 Java 객체를 JSON 문자열로 변환하려면 -
-
pom.xml에 다음 maven 종속성을 추가하십시오.
<dependency> <groupId>com.google.code.gson</groupId> <artifactId>gson</artifactId> <version>2.8.5</version> </dependency>
-
private 변수와 setter/getter 메소드를 사용하여 javabean/POJO 객체를 생성합니다.
-
다른 클래스를 생성하십시오(POJO 클래스가 이 클래스에 사용 가능한지 확인하십시오).
-
그 안에 POJO 클래스의 개체를 만들고 setter 메서드를 사용하여 필요한 값을 설정합니다.
-
Gson 클래스를 인스턴스화합니다.
-
위에서 생성한 POJO 객체를 전달하여 toJson() 메소드를 호출합니다.
-
획득한 JSON을 검색하고 인쇄합니다.
예시
import com.google.gson.Gson; class Student { private int id; private String name; private int age; private long phone; public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public long getPhone() { return phone; } public void setPhone(long phone) { this.phone = phone; } } public class ObjectTOString { public static void main(String args[]) { Student std = new Student(); std.setId(001); std.setName("Krishna"); std.setAge(30); std.setPhone(9848022338L); //Creating the Gson object Gson gSon = new Gson(); String jsonString = gSon.toJson(std); System.out.println(jsonString); } }
출력
{"id":1,"name":"Krishna","age":30,"phone":9848022338}