fastjson 過濾掉不需要序列化的屬性

2021-06-27 01:00:39 字數 1227 閱讀 1494

第一種方式,使用propertyfilter。

可根據屬性名稱或屬性值進行過濾。

propertyfilter filter = new propertyfilter() 

// false 無需序列化,不過濾出來

return false;

}};serializewriter out = new serializewriter();

jsonserializer serializer = new jsonserializer(out);

serializer.getpropertyfilters().add(filter);

a a = new a();

a.setname("chennp2008");

serializer.write(a);

string text = out.tostring();

assert.assertequals("", text);

實體類entity

public class a 

public void setid(int id)

public string getname()

public void setname(string name)

}

第二種方式,使用******propertyprefilter

。根據屬性名稱過濾。

vo vo = new vo();

vo.setid(123);

vo.setname("flym");

// ******propertyprefilter第二個引數:傳入需要序列化屬性的名稱

******propertyprefilter filter = new ******propertyprefilter(vo.class, "name");

// 只序列化name,不序列化id

assert.assertequals("", json.tojsonstring(vo, filter));

實體類entity

class vo 

public void setid(int id)

public string getname()

public void setname(string name)

}

fastjson 過濾不需要的字段或者只要某些字段

第一種 在物件響應欄位前加註解,這樣生成的json也不包含該欄位。jsonfield serialize false private string name 第二種 在物件對應字段前面加transient,表示該欄位不用序列化,即在生成json的時候就不會包含該字段了。private transie...

fastjson 過濾不需要的字段或者只要某些字段

第一種 在物件響應欄位前加註解,這樣生成的json也不包含該欄位。jsonfield serialize false private string name 第二種 在物件對應字段前面加transient,表示該欄位不用序列化,即在生成json的時候就不會包含該字段了。private transie...

gbase入庫時過濾不需要的字段

背景 接入乙個檔案有10列,但是有用的可能就4列,多的字段入庫影響速度,又占用空間,gbase支援入庫時過濾,如下。1.有乙個表有2列。phone,imsi 2.檔案有4列,分割 3.執行入庫命令 load data infile into table test.jiangwen test fiel...