升级fastjson2后 ,如果项目中使用了jackson注解,则fastson2序列化/反序列化都会使用jackson的注解。
如果需要关闭jackson的注解,有如下两种方法:
1. System.setProperty("fastjson2.useJacksonAnnotation","false");
或者
2. com.alibaba.fastjson2.JSONFactory.setUseJacksonAnnotation(false);
public class User{
private String name;
@JsonProperty("AGE")
private String age;
@JsonIgnore
private String id;
//geters setters
public static void main(String[] args ){
User user = new User();
user.setName("xiaoming");
user.setAge("21");
user.setId("123");
//调用的是 com.alibaba.fastjson2.JSON
JSON.toJSONString(user); // 输出 {"name":"xiaoming","AGE":"21"}
System.setProperty("fastjson2.useJacksonAnnotation","false");
或者
JSONFactory.setUseJacksonAnnotation(false);
//com.alibaba.fastjson2.JSON
JSON.toJSONString(user); // 输出 {"name":"xiaoming","age":"21","id":"123" }
}
}