import com.alibaba.fastjson.annotation.JSONField;
import lombok.extern.slf4j.Slf4j;
import java.lang.reflect.Field;
import java.util.HashMap;
import java.util.Map;
@Slf4j
public class MapUtils {
/**
* object to map
*
* @param object
* @return
*/
public static Map<String, Object> toMap(Object object) {
Map<String, Object> map = new HashMap<>(16);
if (object == null) {
return map;
}
try {
Field[] fields = object.getClass().getDeclaredFields();
for (Field field : fields) {
if (field == null || field.getName() == null) {
continue;
}
field.setAccessible(true);
String key = field.getName();
JSONField jsonField = field.getDeclaredAnnotation(JSONField.class);
if (jsonField != null) {
key = jsonField.name();
}
map.put(key, field.get(object));
}
} catch (IllegalAccessException e) {
log.info("object to map convert exception", e);
}
return map;
}
/**
* object to map
*
* @param object
* @param ignore
* @return
*/
public static Map<String, Object> toMap(Object object, boolean ignore) {
Map<String, Object> map = new HashMap<>(16);
if (object == null) {
return map;
}
try {
Field[] fields = object.getClass().getDeclaredFields();
for (Field field : fields) {
if (field == null || field.getName() == null) {
continue;
}
field.setAccessible(true);
if (ignore && field.get(object) == null) {
continue;
}
String key = field.getName();
JSONField jsonField = field.getDeclaredAnnotation(JSONField.class);
if (jsonField != null) {
key = jsonField.name();
}
map.put(key, field.get(object));
}
} catch (IllegalAccessException e) {
log.info("object to map convert exception", e);
}
return map;
}
}
【Java工具類】JavaBean轉Map工具類
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.