fastjson(十一)使用SimplePropertyPreFilter過濾屬性
需要根據不同的環境返回定製化返回屬性時,可以使用SimplePropertyPreFilter。
SimplePropertyPreFilter的程式碼介面如下:
public class SimplePropertyPreFilter implements PropertyPreFilter {
public SimplePropertyPreFilter(String... properties){
this(null, properties);
}
public SimplePropertyPreFilter(Class<?> clazz, String... properties){
// ... ...
}
public Class<?> getClazz() {
return clazz;
}
public Set<String> getIncludes();
public Set<String> getExcludes();
/**
* @since 1.2.9
*/
public int getMaxLevel();
/**
* @since 1.2.9
*/
public void setMaxLevel(int maxLevel)
//...
}
你可以配置includes、excludes(使用getIncludes()、getExcludes()方法獲得物件引用進行設定)。當class不為null時,針對特定型別;當class為null時,針對所有型別。
當includes的size > 0時,屬性必須在includes中才會被序列化,excludes優先於includes。
來看一下示例程式碼:
示例物件:
package json.fastjson.filter.globalFilter;
public class VO {
private int id;
private String name;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
測試類:
package json.fastjson.filter.globalFilter;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.serializer.SimplePropertyPreFilter;
public class TestGlobalFilter {
public static void main(String[] args) {
VO vo = new VO();
vo.setId(123);
vo.setName("flym");
SimplePropertyPreFilter filter = new SimplePropertyPreFilter(VO.class, "name");
System.out.println(filter.getExcludes());
System.out.println(filter.getIncludes());
System.out.println(JSON.toJSONString(vo, filter));
}
}
輸出結果:
[]
[name]
{"name":"flym"}
相關推薦
fastjson(十一)使用SimplePropertyPreFilter過濾屬性
需要根據不同的環境返回定製化返回屬性時,可以使用SimplePropertyPreFilter。 SimplePropertyPreFilter的程式碼介面如下: public class SimplePropertyPreFilter implements
Salesforce學習之路(十一)Aura元件屬性<aura:attribute />
1. <aura:attribute />語法 Aura元件屬性類似與Apex中類的成員變數(或者說Java中類的成員變數)。他們是元件在特定的例項上設定的型別化欄位,可以使用表示式語法從元件的標記內引用他們。 語法:<aura:attribute name="**" type=
Spark項目之電商用戶行為分析大數據平臺之(十一)JSON及FASTJSON
附加 處理 用戶行為分析 基於 大數據平臺 base IT 為什麽 init 一、概述 JSON的全稱是”JavaScript Object Notation”,意思是JavaScript對象表示法,它是一種基於文本,獨立於語言的輕量級數據交換格式
spring深入學習(二十一) IOC 之 屬性填充
doCreateBean() 主要用於完成 bean 的建立和初始化工作,我們可以將其分為四個過程: createBeanInstance() 例項化 bean populateBean() 屬性填充 迴圈依賴的處理 initializeBe
Vue入門(十一)---- 計算屬性實現排序功能
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <me
Java基礎(十一):用Java8中Stream實現不同集合過濾
【前言】 從開源中國的對Java各個版本使用投票可以看出,目前Java8還是以67%的壓倒性優勢遙遙領先(Java 11 已正式釋出,你在使用 Java 的哪個版本?);眾所周知,Stream是Java8中的一大亮點,現在分享一下自己在工作中用它解決一個需求。
【連載】物聯網全棧教程-從雲端到裝置(十一)---呼叫阿里雲API,獲取物的屬性。
物聯網全棧教程-從雲端到裝置(十一)一千千萬萬的物聯網裝置通過ALink協議接入到了雲端,它們不斷地按照ALink協議的規範向雲端彙報資料,同時也一直在等待伺服器下發一些資料並處理這些資料。關於物聯網裝置端如何搞定這些資料,零妖老哥會在下一篇文章中以一個型號叫做STM32F1
軟件工程作業(十一)
判定覆蓋 試用 表達 表達式 執行 分享 amp 邏輯 好處 一.白盒子測試有哪些方法,其中最嚴格的是什麽? 白盒測試的測試方法有代碼檢查法、靜態結構分析法、靜態質量度量法、邏輯覆蓋法、基本路徑測試法、域測試、符號測試、路徑覆蓋和程序變異。 白盒測試法的覆蓋標準有邏輯覆蓋、
自然語言交流系統 phxnet團隊 創新實訓 項目博客 (十一)
函數 num 所有權 初始 數組 sys ram 概率 計算過程 神經網絡的計算過程 神經網絡結構如下圖所示,最左邊的是輸入層,最右邊的是輸出層,中間是多個隱含層,隱含層和輸出層的每個神經節點,都是由上一層節點乘以其權重累加得到,標上“+1”的圓圈為截距項b,對輸入層外每個
openstack controller ha測試環境搭建記錄(十一)——配置neutron(網絡節點)
efault delete none _for set ext ranges tar edr 在網絡節點配置內核參數:vi /etc/sysctl.confnet.ipv4.ip_forward=1net.ipv4.conf.all.rp_filter=0net.ipv4.
打包壓縮命令(十一)
windows 打包工具 詳細信息 源文件 壓縮文件 打包壓縮命令:tar,zip,gzip,bzip2常用的打包工具:tar;壓縮工具:zip、gzip、bzip211.1.zip功能:兼容unix和windows,可以一次性壓縮多個文件語法:zip 壓縮後的路徑文件 需要壓縮的文件1
Storm入門(十一)Twitter Storm源代碼分析之CoordinatedBolt
業務 什麽 協議 ack 第一個 ng- rec 功能 這一 作者: xumingming | 可以轉載, 但必須以超鏈接形式標明文章原始出處和作者信息及版權聲明網址: http://xumingming.sinaapp.com/811/twitter-storm-code
OGG運維優化腳本(十一)-查詢維護類--操作選擇
ogg oracle goldengate 腳本 數據同步 shell 文件:ggedit路徑:$HOME/ggscript功能:該腳本用於選擇使用其他腳本通過alias別名初始化入.profile和.bash_profile文件,以edit指令方式使用#!/bin/bash echo
python selenium-webdriver 通過cookie登陸(十一)
circle gin == items tail login lis code 技術 上節介紹了瀏覽器的常用方法,涉及到了cookie的使用,本節介紹一下如何利用cookie進行登陸系統,這裏使用到了request模塊,我們首先利用request模塊,請求登陸地址進行登陸,
Nginx(十一)-- keepalived簡介
target 運行 多個 vrrp unzip ilo digest and style 1. 什麽是keepalived 基於VRRP(虛擬路由器冗余協議)來實現對web服務的高可用方案。 keepalived下載地址:http://download.csdn
Python爬蟲從入門到放棄(十一)之 Scrapy框架整體的一個了解
object 定義 roc encoding eth obi pipe pos 等等 這裏是通過爬取伯樂在線的全部文章為例子,讓自己先對scrapy進行一個整理的理解 該例子中的詳細代碼會放到我的github地址:https://github.com/pythonsite/
笨辦法學Python(十一)
可能 解釋 簡單的 自己的 style 技術 做了 splay img 習題 11: 提問 我已經出過很多打印相關的練習,讓你習慣寫簡單的東西,但簡單的東西都有點無聊,現在該跟上腳步了。我們現在要做的是把數據讀到你的程序裏邊去。這可能對你有點難度,你可能一下子不明白
java(十一)IO流
java io流 深度遍歷演示:package day22;import java.io.File;public class FileTest { /** * 需求:對指定目錄進行所有內容的列出。(包含子目錄,前面學的都只能列出當前目錄內容,子目錄不行) * 也可以理解為深度遍歷。 */ p
python學習(十一) 文件和流
內存 無緩沖 abcd 連接 sss 文件操作 打開文件 while 3.5 11.1 打開文件 >>> f = open(r‘c:\text\somefile.txt‘), 第一個參數是文件名,必須有;第二個是模式;第三個參數是緩沖。 11.1
一步一步學習Vue(十一)
head move 就會 基本 參數 mode onclick set stat 本篇繼續學習vuex,還是以實例為主;我們以一步一步學Vue(四)中講述的例子為基礎,對其改造,基於vuex重構一遍,這是原始的代碼: todolist.js ; (functio