方法一,利用fastjson在JavaBean,json,map间相互转换
User user = new User();
user.setUid(1);
user.setUname("jack");
// JavaBean转json
JSON json = (JSON) JSON.toJSON(user);
System.out.println("JavaBean转json----"+json);
// json转map
Map<String,Object> map = (Map<String,Object>) json;
map.forEach((k,v)->System.out.println("json转map----"+k+" : "+v));
// map转json
JSON json2 = (JSON) JSON.toJSON(map);
System.out.println("map转json----"+json2);
// json转JavaBean
User user2 = JSON.toJavaObject(json2, User.class);
System.out.println("json转JavaBean----"+user2.getUid()+","+user2.getUname());
方法二,利用Field取得JavaBean的属性
// 获取类中声明的属性
Field[] fields = User.class.getDeclaredFields();
// 获取类中声明的方法
Field[] fields = user.getClass().getDeclaredMethods();
属性名--fields[0].getName()
属性类型--fields[0].getType().getSimpleName()
-----------获取某对象的属性名和属性值,并将该对象转换成map
Map<String, String> toMap(Object obj){
Map<String, String> map = new HashMap<String, String>();
Field[] fields = obj.getClass().getDeclaredFields();
for (Field field : fields) {
try {
field.setAccessible(true);// 对象的属性不是public,需设置为true才能取值
Object o = field.get(obj);
String value = "";
if (o!=null) {
value = o.toString();
}
map.put(field.getName(), value);
} catch (IllegalArgumentException | IllegalAccessException e) {
e.printStackTrace();
}
}
return map;
}