어제 오늘 내일

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

IT/Java

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

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

지난번에는 Jackson 라이브러리를 이용하여

Java Object를 JsonNode로 변환하는 방법을 알아보았습니다.

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

이번에는, JsonNode를 Object로 변환하는 방법을 정리해 보았습니다.

 

JsonNode -> Java Object

JsonNode를 아래의 Student 클래스 객체로 변환하는 예제입니다.

  Student.java  

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 + "]";
    }
}

 

  JsonNodeToObject.java  

import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.JsonMappingException;
import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;

public class JsonNodeToObject {
    public static void main(String[] args) throws JsonMappingException, JsonProcessingException {

        // Json 문자열
        String jsonStr = "{\"id\":1,\"name\":\"Anna\"}";

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

        // JsonNode 생성 (readValue)
        JsonNode jsonNode = objectMapper.readTree(jsonStr);

        // JsonNode -> Java Object
        Student student = objectMapper.treeToValue(jsonNode, Student.class);

        // Student 객체 출력
        System.out.println(student); // Student [id=1, name=Anna]
    }
}

JsonNode를 Student 객체로 변환하기 위해서

ObjectMapper 클래스의 treeToValue() 메소드를 사용하였습니다.

 

 

 

반응형
Comments