[java] Jackson의 다양한 클래스와 유틸리티 메서드 소개
Jackson은 Java에서 JSON 데이터를 처리하기 위한 강력한 라이브러리입니다. 이 라이브러리는 JSON 데이터를 Java 객체로 매핑하거나 Java 객체를 JSON으로 직렬화하는 데 사용됩니다. Jackson에는 다양한 클래스와 유틸리티 메서드가 있으며, 이를 통해 JSON 데이터를 쉽게 다룰 수 있습니다.
ObjectMapper 클래스
ObjectMapper
클래스는 Jackson 라이브러리의 핵심입니다. 이 클래스는 JSON 데이터를 Java 객체로 변환하거나 Java 객체를 JSON으로 변환하는 데 사용됩니다. 다음은 간단한 예제입니다.
import com.fasterxml.jackson.databind.ObjectMapper;
public class JsonExample {
public static void main(String[] args) {
// JSON 문자열을 Java 객체로 변환
String json = "{\"name\":\"John\", \"age\":30}";
ObjectMapper mapper = new ObjectMapper();
Person person = mapper.readValue(json, Person.class);
// Java 객체를 JSON 문자열로 변환
String jsonString = mapper.writeValueAsString(person);
System.out.println(jsonString);
}
// Person 클래스 정의
static class Person {
public String name;
public int age;
}
}
위 예제에서 ObjectMapper
를 사용하여 JSON 문자열을 Java 객체로 변환하고, Java 객체를 JSON으로 직렬화하는 방법을 보여줍니다.
JsonNode 클래스
JsonNode
클래스는 Jackson에서 JSON 노드를 나타내는 데 사용됩니다. 이 클래스를 사용하여 JSON 데이터의 일부분에 접근하고 조작할 수 있습니다. 다음은 간단한 예제입니다.
import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;
public class JsonNodeExample {
public static void main(String[] args) {
String json = "{\"name\":\"John\", \"age\":30}";
ObjectMapper mapper = new ObjectMapper();
try {
JsonNode node = mapper.readTree(json);
String name = node.get("name").asText();
int age = node.get("age").asInt();
System.out.println("Name: " + name);
System.out.println("Age: " + age);
} catch (Exception e) {
e.printStackTrace();
}
}
}
위 예제에서 JsonNode
를 사용하여 JSON 데이터의 일부분에 접근하고 해당 값을 추출하는 방법을 보여줍니다.