SerializeFilter是通过编程扩展的方式定制序列化。
PropertyPreFilter 根据PropertyName判断是否序列化
PropertyFilter 根据PropertyName和PropertyValue来判断是否序列化
NameFilter 修改Key,如果需要修改Key,process返回值则可
ValueFilter 修改Value
BeforeFilter 序列化时在最前添加内容
AfterFilter 序列化时在最后添加内容
例如 修改序列化之后的key值
@Test
public void test3() {
NameFilter valueFilter = new NameFilter() {
@Override
public String process(Object object, String name, Object value) {
if (name.equals("countryname")) {
return "countryname1";
}
if (name.equals("id")) {
return "id1";
}
return name;
}
};
CountryAddDto countryAddDto = new CountryAddDto();
countryAddDto.setCountryname("北京");
System.out.println(JSON.toJSONString(countryAddDto, valueFilter));
}