java 对象转 map
时间: 2023-07-21 14:06:24 浏览: 57
可以使用 Java 提供的反射机制将一个 Java 对象转换成 Map 对象。具体实现可以参考以下代码:
```java
import java.lang.reflect.Field;
import java.util.HashMap;
import java.util.Map;
public class ObjectToMapConverter {
public static Map<String, Object> convert(Object obj) {
Map<String, Object> map = new HashMap<>();
Field[] fields = obj.getClass().getDeclaredFields();
for (Field field : fields) {
field.setAccessible(true);
try {
Object value = field.get(obj);
map.put(field.getName(), value);
} catch (IllegalAccessException e) {
e.printStackTrace();
}
}
return map;
}
}
```
使用时,只需要传入一个 Java 对象即可:
```java
Person person = new Person("张三", 25);
Map<String, Object> map = ObjectToMapConverter.convert(person);
System.out.println(map);
```
其中,`Person` 是一个自定义的类,包含 `name` 和 `age` 两个属性。
输出结果如下:
```
{name=张三, age=25}
```
注意:这种方式只能将对象中的属性转换成 Map 中的键值对,而无法处理对象中的嵌套对象或集合等复杂结构。如果需要实现更复杂的转换逻辑,可以考虑使用第三方库,比如 Jackson、Gson 等。
阅读全文