我这两个问题是有点强迫症了,但是还想问问能不能实现
@JSONType(serialzeFeatures = SerializerFeature.WriteClassName) public class Test{List<Parent> list = new ArrayList<Parent>(); ....}
1、@JSONType(serialzeFeatures = SerializerFeature.WriteClassName) 这个语法现在是不报错的,但是没有任何的作用,我想指定某些类实现WriteClassName,而不是通过JSON.toJSONString传入了SerializerFeature.WriteClassName,结果很多的类都得写“@type” 2、如果Parent是个父类,list中放入了大量的子类,如果传了WriteClassName,每个元素都得拼接一个“@type”,能不能实现类似于 "$ref"的功能,将“@type”也进行引用,例如第一次出现,“@type":"Parent#1”, 之后再出现,就“@type":"#1”
我在本地尝试过很多的方案,例如 自定义JavaBeanDeserializer,JavaBeanSerializer,或者BeforeFilter等实现,但是感觉代码的入侵性太强了,不够优雅,我就想问问,官方能把这两个功能给添加进去。
我主要是对生成后的json字符串大小有点强迫症,想尽量的小一点。
在本地尝试的方案中,我又想到了个点,能不能在 @JSONType中增加SerializeFilter的数组,这样我可以对某个类进行单独的定制序列化,而不是所有类序列化都得通过SerializeFilter的判断。