Java
JAVA JsonString to VO
우오우어아오앙
2024. 8. 1. 09:52
728x90
SMALL
JSON을 파라미터로 받아서 처리해야하는 API가 있었는데
정책 상, @RequestBody를 쓸 수 없는 상황이었다........
@ApiParam, @RequestParam 등등 별의 별 짓을 다 해보다가 찾아낸 방법. 겁나 단순해서 허무했던;;;
그냥 JSON형식의 모든 항목 값을 String으로 받아서 JSON으로 파싱해서 쓰면 되는거였다ㅠㅠ
매우 간단...........
이런 형식의 JSON을 JSON.Stringify(string)해서 받으면 된다 !
[
{
"yyyy" : "false",
"mm" : "08",
"dd" : "test"
},
{
"yyyy" : "true",
"mm" : "12",
"dd" : "test 2"
}
]
반응형
package com.test;
import lombok.Data;
@Data
public class TodayVO {
public String yyyy;
public String mm;
public String dd;
}
728x90
jsonString을 그대로 받아서, List<DTO> 형식으로 사용하는 예제이다.
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
String jsonString = "[{\"yyyy\" : \"false\", \"mm\" : \"08\", \"dd\" : \"test\"}, {\"yyyy\" : \"true\", \"mm\" : \"12\", \"dd\" : \"test 2\"}]";
ObjectMapper mapper = new ObjectMapper();
List<TodayVO> voList = new ArrayList<>();
voList = Arrays.asList(mapper.readValue(jsonString, TodayVO[].class));
728x90
반응형
LIST