CATEGORY

카테고리 (576)
AI (2)
Language (251)
WEB (143)
App (45)
Git (6)
AWS (15)
DataBase (44)
OS (33)
Tool (15)
IT (17)
CodePen (2)
SEEMINGLY ONLINE

Seemingly
Online

이모저모 방방곡곡 두루두루 개발지식 저장소

RECENT POSTS

Language/Java

[Java] Key에 공백과 한글이 들어간 Json 객체 DTO 맵핑하는 방법

2023-05-10


사진: Unsplash 의 NEOM


1. 방법

 

@JsonProperty라는 어노테이션을 사용하면 해당 문제를 손쉽게 해결할 수 있습니다. 아래의 예제 코드를 살펴봅시다.


예시 Json

 

{
  "이름": "홍길동",
  "나이": 30,
  "주소 정보": "서울시 강남구"
}

예시 DTO

 

import com.fasterxml.jackson.annotation.JsonProperty;

public class PersonDTO {
    @JsonProperty("이름")
    private String name;
    @JsonProperty("나이")
    private int age;
    @JsonProperty("주소 정보")
    private String address;

    // Getter와 Setter 메서드 생략
}

아래 코드에서 objectMapper.readValue(json, PersonDTO.class) 메서드는 JSON 문자열을 PersonDTO 객체로 변환합니다. 이때, 필드 이름이 JSON 객체의 필드 이름과 일치하지 않는 경우에는 @JsonProperty 어노테이션을 사용하여 매핑할 수 있습니다.

 

 

import com.fasterxml.jackson.databind.ObjectMapper;

// ...

ObjectMapper objectMapper = new ObjectMapper();

// JSON 문자열을 DTO 객체로 변환
String json = "{\"이름\":\"홍길동\",\"나이\":30,\"주소\":\"서울시 강남구\"}";
PersonDTO personDTO = objectMapper.readValue(json, PersonDTO.class);

메인 이미지 출처 : 사진: UnsplashNEOM  

COMMENTS