Fastjson转Json,过滤掉部分不要的字段有什么好方法?

方法一、fastjson的注解

fastjson中有个注解@JSONField(serialize = false)可以在使用fastjson进行序列化时来过滤属性字段,具体用法是直接在实体类需要过滤的属性字段上方添加该注解即可,如下:

让客户满意是我们工作的目标,不断超越客户的期望值来自于我们对这个行业的热爱。我们立志把好的技术通过有效、简单的方式提供给客户,将通过不懈努力成为客户在信息化领域值得信任、有价值的长期合作伙伴,公司提供的服务项目有:域名与空间、网站空间、营销软件、网站建设、香洲网站维护、网站推广。

@JSONField(serialize = false)
private String ccc;

方法二、Java关键字

其实Java自带的有一个属性关键字transient是忽略序列化的,如下:

private transient String password;

使用该关键字进行修饰的字段是不参与序列化的,所以在使用fastjson转JSON字符串时就可以忽略掉该字段。

但是因为是Java关键字是忽略所有的序列化的,所以也会影响该字段其他的序列化操作,如果会用到其他的序列化操作并且不需要忽略该字段的话,建议使用方法一。

方法三、最灵活 fastjson的属性名过滤器

com.alibaba.fastjson.JSONObject
private static SimplePropertyPreFilter filter = new SimplePropertyPreFilter();
private static SerializeFilter[] filters = null;
static {
filter.getExcludes().add("enumValue");
filter.getExcludes().add("defaultValue");
filter.getExcludes().add("minValue");
filter.getExcludes().add("maxValue");
filter.getExcludes().add("decimalLength");
filters = new SerializeFilter[]{filter};
}
StringBuilder jsonBuilder = new StringBuilder();
for(CustomizeStrategyFieldVO vo:voList){
jsonBuilder.append(
JSONObject.toJSONString(vo, filters, SerializerFeature.WriteMapNullValue)
);
}

网站栏目:Fastjson转Json,过滤掉部分不要的字段有什么好方法?
文章源于:http://www.gawzjz.com/qtweb2/news31/27081.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联