java 接口字段_java接口多余字段的处理

两种办法:

1、在你的实体里面增加相应的转换为String的方法,每个方法根据实际返回字段手动拼装json字符串;

2、使用json插件,向fastjson、gson等lib,这些插件都提供了序列化指定属性的方法和不序列化指定属性的方法。

例如:fastjson提供了注解JSONField注解,可以通过配置serialize=false来排除对应的字段,但是在你说的情况中显然不能使用这样的方法,只能使用过滤器的方式:

使用方式:

JSON.toJSONString(map, new SerializePropertyFilter(true,"id", "createTime","updateTime","delFlag"));

过滤器:

public class SerializePropertyFilter implements PropertyPreFilter{

private String[] props;

private boolean ignore;

@Override

public final boolean apply(JSONSerializer serializer, Object object, String name) {

return filterProps(name)&&filter(object, name);

}

private boolean filterProps(String name){

if(props!=null){

for(String prop : props){

if(name.equals(prop)){

return !ignore;

}

}

if(!ignore){

return false;

}

}

return true;

}

protected boolean filter(Object value, String key){

return true;

}

public SerializePropertyFilter(){

}

public SerializePropertyFilter(boolean ignore,String... props) {

this.props = props;

this.ignore = ignore;

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值