@JsonDeserialize怎么实现反序列化保持返回类型不变
时间: 2024-06-14 08:04:55
浏览: 33
@JsonDeserialize注解可以通过指定as属性来实现反序列化保持返回类型不变。as属性可以接受一个Java类作为参数,用于指定反序列化后的返回类型。这样,在反序列化时,会将json数据转换为指定的Java类[对象](https://geek.csdn.net/educolumn/04c51611e4b730957464192e0307b82c?spm=1055.2569.3001.10083),并保持返回类型不变。
以下是一个示例代码:
```java
public class MyClass {
private [string](https://geek.csdn.net/edu/8802d631b97a4a6af1f4d0bbf8527465?dp_token=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpZCI6NDQ0MDg2MiwiZXhwIjoxNzA3MzcxOTM4LCJpYXQiOjE3MDY3NjcxMzgsInVzZXJuYW1lIjoid2VpeGluXzY4NjQ1NjQ1In0.RrTYEnMNYPC7AQdoij4SBb0kKEgHoyvF-bZOG2eGQvc&spm=1055.2569.3001.10083) name;
private int age;
@JsonDeserialize(as = MyClass.class)
public void setName([string](https://geek.csdn.net/edu/8802d631b97a4a6af1f4d0bbf8527465?dp_token=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpZCI6NDQ0MDg2MiwiZXhwIjoxNzA3MzcxOTM4LCJpYXQiOjE3MDY3NjcxMzgsInVzZXJuYW1lIjoid2VpeGluXzY4NjQ1NjQ1In0.RrTYEnMNYPC7AQdoij4SBb0kKEgHoyvF-bZOG2eGQvc&spm=1055.2569.3001.10083) name) {
this.name = name;
public [string](https://geek.csdn.net/edu/8802d631b97a4a6af1f4d0bbf8527465?dp_token=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpZCI6NDQ0MDg2MiwiZXhwIjoxNzA3MzcxOTM4LCJpYXQiOjE3MDY3NjcxMzgsInVzZXJuYW1lIjoid2VpeGluXzY4NjQ1NjQ1In0.RrTYEnMNYPC7AQdoij4SBb0kKEgHoyvF-bZOG2eGQvc&spm=1055.2569.3001.10083) getName() {
return name;
public void setAge(int age) {
this.age = age;
public int getAge() {
return age;
在上面的示例中,@JsonDeserialize注解被应用在setName()方法上,并通过as属性指定了MyClass.class作为返回类型。这样,在反序列化时,无论输入的json数据是什么类型,都会将其转换为MyClass[对象](https://geek.csdn.net/educolumn/04c51611e4b730957464192e0307b82c?spm=1055.2569.3001.10083),并保持返回类型不变。
相关问题
@JsonDeserialize(using = NullDateDeserializer.class)
@JsonDeserialize(using = NullDateDeserializer.class) 是一个Jackson