使用FastJson时字段大小写转换

这里记录一下工作时踩得坑,关于使用FastJson时字段大小写转换的问题。 当前有个实体类TestFastJson如下

@Data
@AllArgsConstructor
@NoArgsConstructor
public class TestFastJson{
          
   
   
    private String name;

    private String info;
}

测试类里面把这个类转成FastJson然后打印出来

@Test
void testFastJson(){
          
   
	TestFastJson testClass = new TestFastJson("zhang", "some information");
	Object json = JSONObject.toJSON(testClass);
	System.out.println(json);
}

打印结果如下,这没什么好说的 但是如果实体类字段是大写的,比如把info字段改成Info

@Data
@AllArgsConstructor
@NoArgsConstructor
public class TestFastJson{
          
   
   
    private String name;

    private String Info;
}

这时候打印结果依然是和上面一样的。 问题的原因这里不细究,这里只给出解决方法,实体类加注解

@Data
@AllArgsConstructor
@NoArgsConstructor
public class TestFastJson {
          
   
   
    private String name;

    @JSONField(name = "Info")
    private String info;
}

这样打印结果就对了 注意,这里用了Lombok所以注解直接加在字段上就行了。但是如果是自己手写的get、set方法,这个注解需要加到get方法上才生效。

经验分享 程序员 微信小程序 职场和发展