david's daily developer note

[BE] java "json to DTO" collection 본문

[Develop] Web/Back-end

[BE] java "json to DTO" collection

mouse-david 2022. 8. 1. 15:10
728x90

java 개발중에 json string에서 DTO를 만들거나, 여러 자료형으로 변환하는 경우가 종종 있는데,
할때마다 찾아보기 귀찮아서 이 글에다가 모아두기!
참고로 IntelliJ IDE를 사용하는 경우라면 json string으로 부터 자동으로 DTO Class를 생성해주는 plug-in이 존재한다.

plug-in : IntelliJ ▶ (Ctrl+Alt+S) or File -> Settings ▶DTO generator
Reference : https://dev-nomad.com/98

1. HttpResponse ▶ dto [], dto Array

HttpClient client = HttpClientBuilder.create().build();
HttpGet request = new HttpGet("serverUrl");
request.setHeader("Content-Type", "application/json");
request.addHeader("Authorization", authenticationToken);

HttpResponse response = client.execute(request);
HttpEntity entity = response.getEntity();

ObjectMapper objectMapper = new ObjectMapper();
objectMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);  
Dto DtoArray[] = objectMapper.readValue(EntityUtils.toString(entity, "UTF-8"), Dto[].class);

 

2. json string▶ dto list

List<Dto> dtoList = Arrays.asList(objectMapper.readValue(jsonString, Dto[].class));

 

 

 

계속 적자..

728x90