fastjson @JSONField自定义输出字段


在数据库和JAVA实体类命名转换过程中,命名不一致是经常发生的问题。fastjson中注解@JSONField帮忙解决了这个问题。

 

Java代码   收藏代码
  1. public class RoleData{  
  2. @JSONField(name="role_name")  
  3. private String roleName;  
  4. @JSONField(name="role_server")  
  5. private String roleServer;  
  6. @JSONField(name="role_level")  
  7. private String roleLevel;  
  8. @JSONField(name="role_coin")  
  9. private String roleCoin;  
  10. public String getRoleName() {  
  11. return roleName;  
  12. }  
  13. public void setRoleName(String roleName) {  
  14. this.roleName = roleName;  
  15. }  
  16. public String getRoleServer() {  
  17. return roleServer;  
  18. }  
  19. public void setRoleServer(String roleServer) {  
  20. this.roleServer = roleServer;  
  21. }  
  22. public String getRoleLevel() {  
  23. return roleLevel;  
  24. }  
  25. public void setRoleLevel(String roleLevel) {  
  26. this.roleLevel = roleLevel;  
  27. }  
  28. public String getRoleCoin() {  
  29. return roleCoin;  
  30. }  
  31. public void setRoleCoin(String roleCoin) {  
  32. this.roleCoin = roleCoin;  
  33. }  
  34.    
  35. }  

 

 

 

可以通过@JSONField制定日期格式

Java代码   收藏代码
  1. public class A {  
  2.       // 配置date序列化和反序列使用yyyyMMdd日期格式  
  3.       @JSONField(format="yyyyMMdd")  
  4.       public Date date;  
  5.  }  

 

也可以通过@JSONField指定字段的顺序

 

Java代码   收藏代码
  1. public static class VO {  
  2.     @JSONField(ordinal = 3)  
  3.     private int f0;  
  4.    
  5.     @JSONField(ordinal = 2)  
  6.     private int f1;  
  7.    
  8.     @JSONField(ordinal = 1)  
  9.     private int f2;  
  10. }  

 

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Fastjson是一个Java语言编写的JSON处理库,@JSONFieldFastjson提供的注解之一。 @JSONField注解用于指示在序列化和反序列化过程中如何处理Java对象的字段。它可以应用于类的字段或者类的setter和getter方法,并提供了一些属性自定义字段的行为。 使用@JSONField注解,可以实现以下功能: 1. 指定字段的名称:通过设置name属性,可以指定将Java对象字段序列化为JSON时的字段名称。例如: ``` @JSONField(name = "id") private int userId; ``` 以上代码将Java对象中的userId字段序列化为JSON时,字段名为"id"。 2. 排除字段:通过设置serialize属性为false,可以在序列化对象时排除这个字段。例如: ``` @JSONField(serialize = false) private String password; ``` 以上代码将在序列化对象时,忽略password字段。 3. 指定字段的格式化方式:通过设置format属性,可以指定字段序列化和反序列化时所使用的格式。例如: ``` @JSONField(format = "yyyy-MM-dd") private Date createTime; ``` 以上代码将使用"yyyy-MM-dd"格式处理createTime字段。 4. 自定义字段的序列化和反序列化逻辑:通过设置serializeUsing和deserializeUsing属性,可以指定自定义的序列化和反序列化器来处理字段。例如: ``` @JSONField(serializeUsing = CustomSerializer.class) private SomeObject someObject; ``` 以上代码将使用CustomSerializer来序列化someObject字段。 总之,@JSONFieldFastjson中一个非常有用的注解,可以通过它来控制字段的序列化和反序列化方式,实现更加灵活的JSON数据处理。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值