新聞中心
這里有您想知道的互聯(lián)網營銷解決方案
Fastjson轉Json,過濾掉部分不要的字段有什么好方法?
方法一、fastjson的注解
fastjson中有個注解@JSONField(serialize = false)可以在使用fastjson進行序列化時來過濾屬性字段,具體用法是直接在實體類需要過濾的屬性字段上方添加該注解即可,如下:

讓客戶滿意是我們工作的目標,不斷超越客戶的期望值來自于我們對這個行業(yè)的熱愛。我們立志把好的技術通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領域值得信任、有價值的長期合作伙伴,公司提供的服務項目有:域名與空間、網站空間、營銷軟件、網站建設、香洲網站維護、網站推廣。
@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,過濾掉部分不要的字段有什么好方法?
標題URL:http://www.dlmjj.cn/article/djddcoh.html


咨詢
建站咨詢
