跳到主要内容

Jackson JSON

DeepSeek V3 中英对照 Jackson JSON

Spring 提供了对 Jackson JSON 库的支持。

JSON 视图

Spring WebFlux 提供了对 Jackson 的序列化视图 的内置支持,它允许仅渲染 Object 中所有字段的一个子集。要在 @ResponseBodyResponseEntity 控制器方法中使用它,你可以使用 Jackson 的 @JsonView 注解来激活一个序列化视图类,如下例所示:

@RestController
public class UserController {

@GetMapping("/user")
@JsonView(User.WithoutPasswordView.class)
public User getUser() {
return new User("eric", "7!jd#h23");
}
}

public class User {

public interface WithoutPasswordView {};
public interface WithPasswordView extends WithoutPasswordView {};

private String username;
private String password;

public User() {
}

public User(String username, String password) {
this.username = username;
this.password = password;
}

@JsonView(WithoutPasswordView.class)
public String getUsername() {
return this.username;
}

@JsonView(WithPasswordView.class)
public String getPassword() {
return this.password;
}
}
java
备注

@JsonView 允许使用视图类的数组,但在每个控制器方法中只能指定一个。如果需要激活多个视图,请使用组合接口。