Jackson 라이브러리를 사용하여 Java 객체를 Map으로 쉽게 변환 할 수 있습니다.
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.6.3</version>
</dependency>
Android 프로젝트에서 사용하는 경우 다음과 같이 앱의 build.gradle에 jackson을 추가 할 수 있습니다.
implementation 'com.fasterxml.jackson.core:jackson-core:2.9.8'
implementation 'com.fasterxml.jackson.core:jackson-annotations:2.9.8'
implementation 'com.fasterxml.jackson.core:jackson-databind:2.9.8'
샘플 구현
public class Employee {
private String name;
private int id;
private List<String> skillSet;
// getters setters
}
public class ObjectToMap {
public static void main(String[] args) {
ObjectMapper objectMapper = new ObjectMapper();
Employee emp = new Employee();
emp.setName("XYZ");
emp.setId(1011);
emp.setSkillSet(Arrays.asList("python","java"));
// object -> Map
Map<String, Object> map = objectMapper.convertValue(emp,
Map.class);
System.out.println(map);
}
}
산출:
{name = XYZ, id = 1011, skills = [python, java]}
java.beans.Introspector
.getBeanInfo()
. JDK에 바로 내장되어 있습니다.