Gson簡單過濾工具類封裝

2021-07-05 11:42:14 字數 2926 閱讀 4851

@test

public void teststrategy()

@override

public boolean shouldskipclass(class<?> clazz)

}).setfieldnamingstrategy(

new fieldnamingstrategy()

}).create();

employee employee = new employee();

employee.setid("1");employee.setname("dean");

employee.setage(32);employee.setentrydate(new date());

string json = gson.tojson(employee);

system.out.println(json);

listemployeelist = lists.newarraylist();

employeelist.add(employee);

string json1 = gson.tojson(employeelist);

system.out.println(json1);

}

重用性不夠高,於是自己封裝了乙個簡單的工具類

public class gson******prefilter 

public gson******prefilter(gsonbuilder gsonbuilder)

public gson create() else

}for (filterclass filterclass : filterclasslist) else }}

}return false;

}@override

public boolean shouldskipclass(class<?> clazz)

}).setfieldnamingstrategy(new fieldnamingstrategy() else }}

}return field.getname();

}}).create();

} /**

* 需要保留的屬性

* * @param attr

* @return

*/public gson******prefilter setincludes(string... attr)

/*** 需要排除的屬性

* * @param attr

* @return

*/public gson******prefilter setexcludes(string... attr)

/*** 轉換屬性名稱

* * @param old

* 轉換前

* @param now

* 轉換後

* @return

*/public gson******prefilter settranslatenames(string old, string now)

public setgetincludes()

public setgetexcludes()

public mapgettranslatenames()

public listgetfilterclasslist()

public filterclassbuidler createbuilder()

/*** 靜態內部類構造器

* */

public static final class filterclassbuidler

/*** 設定要進行過濾的類

* @param clazz

* @return

*/public filterclassbuidler setfilterclass(class<?> clazz)

/*** 設定要過濾的類中需要被排除的屬性

* @param attr

* @return

*/public filterclassbuidler setclas***cludes(string... attr)

/*** 設定要過濾的類中需要被包含的屬性

* @param attr

* @return

*/public filterclassbuidler setclassincludes(string... attr)

/*** 設定要過濾的類中需要被轉換的屬性

* @return

*/public filterclassbuidler setclasstranslatenames(string old, string now)

/*** 構造為gson******prefilter

* @return

*/public gson******prefilter buildprefilter()

} public static final class filterclass

public void setclazz(class<?> clazz)

public setgetincludes()

public void setincludes(setincludes)

public setgetexcludes()

public void setexcludes(setexcludes)

public mapgettranslatenames()

public void settranslatenames(maptranslatenames)

} public static void main(string args)

}

可以支援平時大部分使用的場景,特殊情況肯定還是需要特殊處理

jquery簡單過濾器

一 介紹 簡單過濾器是指以冒號開頭,通常用於實現簡單過濾效果的過濾器。例如,匹配找到的第乙個元素等。jquery提供的過濾器下表所示。過濾器說明示例 first 匹配找到的第乙個元素,它是與選擇器結合使用的 tr first 匹配 的第一行 last 匹配找到的最後乙個元素,它是與選擇器結合使用的 ...

jquery簡單過濾器

一 介紹 簡單過濾器是指以冒號開頭,通常用於實現簡單過濾效果的過濾器。例如,匹配找到的第乙個元素等。jquery提供的過濾器下表所示。過濾器說明示例 first 匹配找到的第乙個元素,它是與選擇器結合使用的 tr first 匹配 的第一行 last 匹配找到的最後乙個元素,它是與選擇器結合使用的 ...

Log工具類 簡單封裝

使用簡單,在同一專案下其他類使用時只需要logger.i this,msg 就可以.this會自動引用類名,msg可隨便輸入會自動轉換為string型別publicclasslogger 列印 i級別的 log param objtag param objmsg publicstaticvoide ...