어제 오늘 내일

[Java/Jackson] Java Object를 JsonNode로 변환하기 본문

IT/Java

[Java/Jackson] Java Object를 JsonNode로 변환하기

hi.anna 2021. 9. 5. 23:04

 

Jackson 라이브러리를 이용하여,

Java Object를 JsonNode로 변환하는 예제입니다.

 

Java Object -> JsonNode

  Student.java  

Student 클래스 객체를 JsonNode로 변환할 것입니다.

public class Student {

    private int id;
    private String name;

    public Student() {
    }

    public Student(int id, String name) {
        this.id = id;
        this.name = name;
    }

    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;
    }

    @Override
    public String toString() {
        return "Student [id=" + id + ", name=" + name + "]";
    }
}

 

 

  ObjectToJsonNode.java  

import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;

public class ObjectToJsonNode {
    public static void main(String[] args) {

        // Student 객체 생성
        Student student = new Student(1, "Anna");

        // jackson objectmapper 객체 생성
        ObjectMapper objectMapper = new ObjectMapper();

        // Object -> JsonNode 생성
        JsonNode jsonNode1 = objectMapper.valueToTree(student);
        JsonNode jsonNode2 = objectMapper.convertValue(student, JsonNode.class);

        // 결과 출력
        System.out.println(jsonNode1); // {"id":1,"name":"Anna"}
        System.out.println(jsonNode2); // {"id":1,"name":"Anna"}
    }
}

ObjectMapper클래스의 다음 2가지 메소드를 사용하여

객체를 JsonNode로 변환하였습니다.

  • valueToTree()
  • convertValue()

 

 

반응형
Comments