java的bean对象通过注解在set方法实现自定义序列化
时间: 2024-02-01 08:14:14 浏览: 110
JavaEE 使用注解配置Bean的一个示例
在 Java 中,我们可以通过实现 Serializable 接口来实现对象的序列化和反序列化。不过,有时候我们可能需要对某些属性进行自定义序列化,这时可以使用注解来实现。
假设有一个 Person 类,其中包含了 name、age 两个属性,我们希望在序列化时只序列化 name 属性。那么我们可以在 name 属性的 set 方法上添加 @JsonProperty 注解,同时在 age 属性的 set 方法上添加 @JsonIgnore 注解,具体代码如下:
```java
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonProperty;
public class Person {
private String name;
private int age;
@JsonProperty("name")
public void setName(String name) {
this.name = name;
}
@JsonIgnore
public void setAge(int age) {
this.age = age;
}
// 省略 getter 和其他方法
}
```
在上面的例子中,@JsonProperty 注解指定了序列化时使用的属性名为 name,@JsonIgnore 注解则表示该属性不参与序列化。
当我们需要将 Person 对象序列化为 JSON 字符串时,只会序列化 name 属性,而 age 属性则被忽略。反序列化同理,只会将 JSON 中的 name 属性赋值给 Person 对象的 name 属性,age 属性则不会赋值。
阅读全文