本文主要详细介绍一下FastJson使用@JSONField、@JSONType、SerializeFilter进行序列化。之前了解的序列化都是非定制化的,本文介绍的fastjson可以按需求进行定制化输出。
本文使用的fastjson版本为1.2.47
FastJson使用@JSONField、@JSONType、SerializeFilter进行序列化时,强调所有的操作(注解)都是在序列化和反序列化的时候起左右(并且该对象也参与其中),其它的时候不起作用(比如对象.get或.set时候没作用)
1.@JSONField
1.1@JSONField注解代码演示
这个注解可以设置的参数有:ordinal,name,format,serialize,deserialize,jsonDirect等等,后面的不常用啊
对象AAAaaa类:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100
|
public class AAAaaa {
@JSONField(name = "userName", ordinal = 2) private String name; private Integer age; private String address; @JSONField(name = "userWork", ordinal = 1, serialize = false) private String work; @JSONField(name = "userSchool", ordinal = 4, deserialize = false) private String school; @JSONField(name = "json", ordinal = 4, jsonDirect = true) private String studentjson; |