1、情景回顾
某方法中传了一个Object 类型的实体类,我们如何在该方法中获取user的id的值?
方法一
使用Java的反射原理
Field idField = obj.getClass().getDeclaredField("id");
idField.setAccessible(true);
String id1 = (String) idField.get(obj);
方法二
使用JSON对象的转换
String str = JSON.toJSONString(obj);
JSONObject jsonObject = JSON.parseObject(str);
String id2 = jsonObject.getString("id");
Map转实体
Map<String, Object> authorMap = new HashMap<>();
authorMap.put("id", 10L);
authorMap.put("name", "蜡笔小新");
authorMap.put("category", "分类");
authorMap.put("score", 90);
authorMap.put("intro", "简介");
Book book = JSON.parseObject(JSON.toJSONString(authorMap), Book.class);
System.out.println(book);
实体转Map
Book book1 = new Book();
book1.setId(1l);
book1.setName("风间");
book1.setCategory("分类");
book1.setIntro("简介");
book1.setScore(100);
Map map = JSON.parseObject(JSON.toJSONString(book1), Map.class);
System.out.println(map);
引入依赖
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.54</version>
</dependency>