User实体
public class User extends HashMap<String, Object>
{
private String name;
public String getName()
{
return this.name;
}
public void setName(String name)
{
this.name = name;
}
}
user对象
{
User user = new User();
user.setName("123");
user.put("address", "北京");
user.put("phone", "110");
}
使用jackson或gson序列化后name的值没有了
{"address":"北京","phone":"110"}
jackson解析的时,会获取父类的Class类型来执行不同解析实现类,而User继承了HashMap,他的解析实现类是MapSerializer!而MapSerializer解析时,不会序列自身的属性!只会序列自身存储的Entry[](HashMap内的一个存储数据的数组)数组!自然就没有序列到User类的name!
想要序列name,可以将User类改成以下