Hello

2019.06.06 본문

try

2019.06.06

nari0_0 2019. 6. 6. 22:47
728x90

자바 객체 -> json (직렬화)

@Test
public void test() {
Map<String, String> testMap = new HashMap<>();
testMap.put("phone", "iphone8plus");
testMap.put("netbook", "bossmonster");
testMap.put("tv", "lg");

Computer computer = new Computer("MSI",16,"i7-8700k","RTX 2060 페가수스 D6 6GB");
ObjectMapper objectMapper = new ObjectMapper();
try {
String testMapToJsonString = objectMapper.writeValueAsString(testMap);
String computerToJsontring = objectMapper.writeValueAsString(computer);
log.debug("test Map json => {}", testMapToJsonString);
log.debug("computer json => {}", computerToJsontring);
} catch (JsonProcessingException e) {
log.debug("err massege =>{}",e.getMessage());
}
}

objectMapper.writeValueAsString을 통해 json형태의 string을 만들 수 있다.

 

json -> 자바 객체

@Test
public void test() {
ObjectMapper objectMapper = new ObjectMapper();
try {
String testMapToJsonString = "{\"netbook\":\"bossmonster\",\"tv\":\"lg\",\"phone\":\"iphone8plus\"}";
String computerToJsontring = "{\"brand\":\"MSI\",\"ram\":16,\"cpu\":\"i7-8700k\",\"graphicCard\":\"RTX 2060 페가수스 D6 6GB\"}";
Map<String, String> jsonToMap = objectMapper.readValue(testMapToJsonString, Map.class);
Computer jsonToComputerObject = objectMapper.readValue(computerToJsontring, Computer.class);
log.debug("map => {}",jsonToMap);
log.debug("computer => {}",jsonToComputerObject);
}catch (IOException e) {
log.debug("err massege =>{}",e.getMessage());
}
}

objectMapper.readValue를 사용해 json String과 변환될 객체 클래스를 넘겨주면 해당 클래스에 맞게 데이터 매핑시켜준다.

728x90

'try' 카테고리의 다른 글

2019.09.01  (0) 2019.09.01
2019.08.12  (0) 2019.08.12
2019.08.12  (0) 2019.08.12
2019.08.04  (0) 2019.08.04
2019.05.29  (0) 2019.05.29