背景:在對外傳輸資料展示過程中,為了避免model層直接對外暴露,我們會多加乙個對應的dto保理想要傳輸的資料即可,隱藏model層。
應對:
1.第一種,如果是實體類字段型別都一樣,大部分會採用bean拷貝的方式,beanutils.copyproperties(obj,obj),單個物件的轉換還好,但是list物件就要迴圈來轉換。
2.第二種,要是遇到駝峰型別欄位與下劃線欄位的物件進行轉換也是頭疼,由於可能介面跟實體類不是一波人寫的,在一致性上沒用做統一的規範,導致model和dto的字段型別還不一樣。這種fastjson有對應的轉換
/*** 將物件的大寫轉換為下劃線加小寫,例如:username-->user_name
** tar 目標物件
* to 轉換物件
* @return
* @throws exception
*/public static object tounderline(object tar,object to) throws exception 12
3456
78910
1112
1314
snakecase 就是一種轉換下劃線的策略,當然也是可以互轉的,只要修改策略的列舉值為camelcase,就轉為駝峰。
實體類轉換DTO的方式
背景 在對外傳輸資料展示過程中,為了避免model層直接對外暴露,我們會多加乙個對應的dto保理想要傳輸的資料即可,隱藏model層。應對 1.第一種,如果是實體類字段型別都一樣,大部分會採用bean拷貝的方式,beanutils.copyproperties obj,obj 單個物件的轉換還好,但...
實體類與實體DTO類之間的轉換
通過nuget包管理器新增newtonsoft.json 構造乙個trans的靜態方法 public static tout trans tin tin 前端呼叫 people people new people 構造乙個trans的靜態方法 public static tout trans tin...
json轉換實體類
import net.sf.json.jsonarray import net.sf.json.jsonobject 實體類轉換成json jsonobject jsonstu jsonobject.fromobject 實體類 json轉換成實體類person person person pers...