本文主要詳細介紹一下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; |