使用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方法上才生效。
上一篇:
IDEA上Java项目控制台中文乱码