当我做后端优化的时候,发现类中一些字段属性,客户端根本不需要,当时json会把类中的Public字段和属性都序列化出来。
这样序列化对象发送给客户端的时候,无端就发送了一些客户端不需要的数据,增加了包的大小。恰好我又发现了基于mongodb的bson有一个特性——bsonignore
见字知意,我就想实现一个类似的方法。
不废话,直接贴图:
图中playerdata(玩家数据)类,有一个私有数组和公共方法,方法用来修改数组。
private不会被序列化,但是外部却无法修改,一般的做法是写Public属性修改,但是这样就导致属性也会被json序列化出去,所以我写了一个公共的方法,这样就json就无法序列化了,虽然麻烦了一些,但是减少了包的大小,对于包传输有大小需求的可以试一下这个办法。
本人菜鸡,希望各位指正。