Java

ObjectMapper

mean-ji 2022. 8. 24. 15:16
728x90

Jackson에서 제공하는 클래스이고, Java 클래스 내용을 확인하거나 파싱하는 과정에서

Object를 Json으로 변환하거나 Json을 Object로 변환할 때 사용한다고 한다.

 

Dependency 추가

<artifactId>jackson-databind</artifactId>

 

Object ➡️ Json

ObjectMapper objectMapper = new ObjectMapper();
User user = new User("meanji", 100);

objectMapper.writeValue(new File("user.json"), user);
String userAsString = objectMapper.writeValueAsString(user);

Json ➡️ Object

String json = "{ \"name\" : \"meanji\", \"age\" : 100 }";
User user = objectMapper.readValue (json, User.class);

Json ➡️ Jackson JsonNode

String json = "{ \"name\" : \"meanji\", \"age\" : 100 }";
JsonNode jsonNode = objectMapper.readTree(json);
String name = jsonNode.get("name").asText();
int age = jsonNode.get("age").asInt();

Json Array String ➡️ Java List

String jsonArr = "[{\"name\":\meanji\",\"age\":30},{\"name\":\"Jason\",\"age\":20}]";
List<User> user = objectMapper.readValue(jsonArr, new TypeReference<>() {});

Json String ➡️ Java Map

String jsonArr = "{\"name\":\"Ryan\",\"age\":30}";
Map<String, Object> user = objectMapper.readValue(jsonArr, new TypeReference<>() {});

Reference

https://interconnection.tistory.com/137

728x90