JSON 또는 JavaScript Object Notation은 사람이 읽을 수 있는 데이터 교환을 위해 설계된 가벼운 텍스트 기반 개방형 표준입니다. C, C++, Java, Python, Perl 등을 포함하여 JSON에서 사용하는 규칙은 프로그래머에게 알려져 있습니다.
JSON 개체를 처리하는 데 사용할 수 있는 여러 Java 라이브러리가 있습니다. Jackson은 자바 객체를 JSON으로 또는 그 반대로 직렬화하는 간단한 자바 기반 라이브러리입니다.
Java 객체를 JSON으로 변환
ObjectMapper Java의 Jackson API 클래스는 Java 객체를 JSON 객체로 또는 그 반대로 변환하는 메소드를 제공합니다.
writeValueAsString() 이 클래스의 메소드는 JSON 객체를 매개변수로 받아들이고 해당 JSON 문자열을 반환합니다.
따라서 Jackson 라이브러리를 사용하여 Java 객체를 JSON 문자열로 변환하려면 -
-
pom.xml에 다음 maven 종속성을 추가하십시오.
<dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</artifactId> <version>2.10.0.pr2</version> </dependency>
-
private 변수와 setter/getter 메소드를 사용하여 javabean/POJO 객체를 생성합니다.
-
다른 클래스를 생성하십시오(POJO 클래스가 이 클래스에 사용 가능한지 확인하십시오).
-
그 안에 POJO 클래스의 개체를 만들고 setter 메서드를 사용하여 필요한 값을 설정합니다.
-
ObjectMapper 클래스를 인스턴스화합니다.
-
위에서 생성한 POJO 객체를 전달하여 writeValueAsString() 메소드를 호출합니다.
-
획득한 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 JacksionExample { public static void main(String args[]) throws Exception { Student std = new Student(); std.setId(001); std.setName("Krishna"); std.setAge(30); std.setPhone(9848022338L); //Creating the ObjectMapper object ObjectMapper mapper = new ObjectMapper(); //Converting the Object to JSONString String jsonString = mapper.writeValueAsString(std); System.out.println(jsonString); } }
출력
{"id":1,"name":"Krishna","age":30,"phone":9848022338}