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