IT/Java

[Java] Jackson 라이브러리를 이용하여 Object를 JSON으로 변환하기

hi.anna 2021. 9. 5. 11:19

 

  1. Java Object -> JSON 문자열
  2. Java Object -> JSON 파일
  3. Map -> JSON 문자열
  4. List -> JSON 문자열
  5. 배열 -> JSON 문자열

 

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으로 변환하는 방법을 알아보았습니다.

 

 

반응형