Maven 빌드 도구에서 다음과 같이 의존성을 설정한다.
<!-- jackson 라이브러리 -->
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
</dependency>
JSON 데이터 구조 예시
{
"name": "Mommoo",
"age": 28,
"isDeveloper": true,
"equipment": ["NoteBook", "Mouse", "SmartPhone"],
"etc": {
"favoriteFood": 'Coffee'
}
}
JAVA object 를 JSON 문자열로 변환하기
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"}
}
}
JAVA object 를 JSON 파일로 변환하기
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);
}
}
Map을 JSON 문자열로 변환하기
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}
}
}
List를 JSON 문자열로 변환하기
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"}]
}
}
배열을 JSON 문자열로 변환하기
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"}]
}
}