方法1
- 在 中引入依赖包
<dependency>
<groupId></groupId>
<artifactId>fastjson</artifactId>
<version>1.2.54</version>
</dependency>
- 在控制类中引入
import ;
- 类型转换
((源数据), 转换后数据类型.class);
例子:
// 将 Map 转换为 实体类
User user = ((user01), );
(user);
// 将 实体类 转换为 Map
Map map = ((user), );
(map);
方法2
实体转map
//利用反射
public static Map<String, Object> objectToMap(Object obj) {
Map<String, Object> map = new HashMap<>();
if (obj == null) {
return map;
}
Class clazz = ();
Field[] fields = ();
try {
for (Field field : fields) {
(true);
((), (obj));
}
} catch (
Exception e) {
();
}
return map;
}
转实体类
该方法有个缺陷,实体类必须有无参的构造方法,否则newInstance方法根据反射构造实体类时会报错。
/**
* Map转成实体对象
* @param map map实体对象包含属性
* @param clazz 实体对象类型
* @param flag map的key是下划线(和数据库字段名称一致)命名则为true,key是驼峰命名则为false
* @return
*/
public static Object map2Object(Map<String, Object> map, Class<?> clazz, boolean flag) {
if (map == null) {
return null;
}
Object obj = null;
try {
obj = ();
Field[] fields = ().getDeclaredFields();
for (Field field : fields) {
int mod = ();
if ((mod) || (mod)) {
continue;
}
(true);
if (flag)
(obj, (HumpToUnderline(())));
else
(obj, ((())));
}
} catch (Exception e) {
();
}
return obj;
}