IT/Java
[Java] Jackson 라이브러리를 이용하여 Object를 JSON으로 변환하기
hi.anna
2021. 9. 5. 11:19
Java Object를 JSON 문자열로 변환하기 위해서
Jackson ObjectMapper 의 다음 메소드를 사용할 수 있습니다.
- writeValue()
- writeValueAsString()
- writeValueAsBytes()
1. Java Object -> JSON 문자열
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
public class ObjectToJson {
public static void main(String[] args) throws JsonProcessingException {
// Student 객체 생성
Student student = new Student(1, "Anna");
// jackson objectmapper 객체 생성
ObjectMapper objectMapper = new ObjectMapper();
// Student 객체 -> Json 문자열
String studentJson = objectMapper.writeValueAsString(student);
// Json 문자열 출력
System.out.println(studentJson); // {"id":1,"name":"Anna"}
}
}
2. Java Object -> JSON 파일
import java.io.File;
import java.io.IOException;
import com.fasterxml.jackson.core.JsonGenerationException;
import com.fasterxml.jackson.databind.JsonMappingException;
import com.fasterxml.jackson.databind.ObjectMapper;
public class ObjectToFile {
public static void main(String[] args) throws JsonGenerationException, JsonMappingException, IOException {
// Student 객체 생성
Student student = new Student(1, "Anna");
// jackson objectmapper 객체 생성
ObjectMapper objectMapper = new ObjectMapper();
// Student 객체 -> Json 파일
objectMapper.writeValue(new File("C:\\json\\student.json"), student);
}
}
3. Map -> JSON 문자열
import java.util.HashMap;
import java.util.Map;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
public class MapToJson {
public static void main(String[] args) throws JsonProcessingException {
// Map 생성
Map<String, Object> map = new HashMap<>();
map.put("id", 1);
map.put("name", "Anna");
// jackson objectmapper 객체 생성
ObjectMapper objectMapper = new ObjectMapper();
// Map -> Json 문자열
String studentJson = objectMapper.writeValueAsString(map);
// Json 문자열 출력
System.out.println(studentJson); // {"name":"Anna","id":1}
}
}
4. List -> JSON 문자열
import java.util.ArrayList;
import java.util.List;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
public class ListToJson {
public static void main(String[] args) throws JsonProcessingException {
// List 생성
List<Student> list = new ArrayList<>();
list.add(new Student(1, "Anna"));
list.add(new Student(2, "Brian"));
// jackson objectmapper 객체 생성
ObjectMapper objectMapper = new ObjectMapper();
// List -> Json 문자열
String studentJson = objectMapper.writeValueAsString(list);
// Json 문자열 출력
System.out.println(studentJson); // [{"id":1,"name":"Anna"},{"id":2,"name":"Brian"}]
}
}
5. 배열 -> JSON 문자열
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
public class ArrayToJson {
public static void main(String[] args) throws JsonProcessingException {
// 배열 생성
Student[] arr = new Student[2];
arr[0] = new Student(1, "Anna");
arr[1] = new Student(2, "Brian");
// jackson objectmapper 객체 생성
ObjectMapper objectMapper = new ObjectMapper();
// 배열 -> Json 문자열
String studentJson = objectMapper.writeValueAsString(arr);
// Json 문자열 출력
System.out.println(studentJson); // [{"id":1,"name":"Anna"},{"id":2,"name":"Brian"}]
}
}
Jackson 라이브러리를 이용하여
Java 객체를 Json으로 변환하는 방법을 알아보았습니다.
반응형