jackson序列化问题

在对对象进行jackson序列化的时候,有时候会出现序列化后的变量名称大小写错误的情况。

测试的实体类TestEntity2如下:

public class TestEntity2 {
    private String aBcd;
    private String qWER;
    private String qWERty;
    private String qWERtyUIO;
    private String asDFG;
}

 

经过jackson序列化(ObjectMapper.writeValueAsString(Object))后打印出来如图所示:

 

 可以看到aBcd变成了abcd,qWER变成了小写qwer,qWERty变成了qwerty,qWERtyUIO变成了qwertyuio。asDFG正常打印。

由此可以看出,在变量名第一个字母为小写,然后第二个至第n个字母为大写时,这2-n个大写字母将被序列化成小写。

解决办法:在实体类上加上JsonAutoDetect注解

@JsonAutoDetect(fieldVisibility = JsonAutoDetect.Visibility.ANY,  
          getterVisibility = JsonAutoDetect.Visibility.NONE,  
          setterVisibility = JsonAutoDetect.Visibility.NONE)

posted @ 2024-02-16 14:42  leviH  阅读(12)  评论(0编辑  收藏  举报