본문 바로가기
SPRING

Jackson과 ObjectMapper

by ez.pang 2023. 1. 3.

Java 객체를 JSON으로 직렬화, JSON을 Java객체로 역직렬화시킬수 있는 Jackson 라이브러리 클래스

더보기

Jackson이란?

JSON 데이터 구조를 처리해주는 라이브러리

 

*Person 클래스

public class Person {
   private String name;
   private String job;
   
   public Person(String name, String job, ing age) {
       this.name = name;
       this.job = job;
       this.age = age;
  }
   
   public String getName(){
       return name;
  }
   
   public String getJob() {
       return job;
  }
  
  public String getAge() {
       return age;
  }
}
​
public static void main(String[] args) {
   Person person = new Person("홍길동", "의적", "30");
}

* 라이브러리없이 JSON데이터 생성

String JSON = "\"{"+
   "\"name\": \"" + person.getName() + "\","+
   "\"job\": \"" + person.getJob() + "\","+
   "\"age\": \"" + person.getAge() + "\""+"}\"";

* SimpleJSON 사용

JSONObject jsonObject = new JSONObject();
jsonObject.put("name", person.getName());
jsonObject.put("job", person.getJob());
jsonObject.put("age", person.getAge());
String JSON = jsonObject.toString();

* Jackson 라이브러리 사용

@RequestMapping("/json")
@ResponseBody()
public Object printJSON() {
   Person person = new Person("홍길동", "의적", "30");
   return person;
}
ObjectMapper mapper = new ObjectMapper();

String jsonString = "{\"name\":\"홍길동\",\"job\":의적\"},\"age\":30\"}";

Person person = mapper.readValue(jsonString, Person.class);

// * Map으로 변환시
// Person person = mapper.readValue(jsonString, new TypeReference<Map<String, Object>>(){});

 

'SPRING' 카테고리의 다른 글

Tomcat 기동 시 폴더 생성  (1) 2023.07.13
OkHttpClient  (0) 2023.01.03
접근제어지시자와 정보은닉  (0) 2022.09.27
Properties 란?  (0) 2022.09.19

댓글