在数据库和JAVA实体类命名转换过程中,命名不一致是经常发生的问题。fastjson中注解@JSONField帮忙解决了这个问题。
Java代码
- public class RoleData{
- @JSONField(name="role_name")
- private String roleName;
- @JSONField(name="role_server")
- private String roleServer;
- @JSONField(name="role_level")
- private String roleLevel;
- @JSONField(name="role_coin")
- private String roleCoin;
- public String getRoleName() {
- return roleName;
- }
- public void setRoleName(String roleName) {
- this.roleName = roleName;
- }
- public String getRoleServer() {
- return roleServer;
- }
- public void setRoleServer(String roleServer) {
- this.roleServer = roleServer;
- }
- public String getRoleLevel() {
- return roleLevel;
- }
- public void setRoleLevel(String roleLevel) {
- this.roleLevel = roleLevel;
- }
- public String getRoleCoin() {
- return roleCoin;
- }
- public void setRoleCoin(String roleCoin) {
- this.roleCoin = roleCoin;
- }
- }
可以通过@JSONField制定日期格式
Java代码
- public class A {
- // 配置date序列化和反序列使用yyyyMMdd日期格式
- @JSONField(format="yyyyMMdd")
- public Date date;
- }
也可以通过@JSONField指定字段的顺序
Java代码
- public static class VO {
- @JSONField(ordinal = 3)
- private int f0;
- @JSONField(ordinal = 2)
- private int f1;
- @JSONField(ordinal = 1)
- private int f2;
- }