【发布时间】:2018-01-04 11:36:15
【问题描述】:
假设我是一个将转换为 JSON 的输出类:
StudentSummary.java
public class StudentSummary {
private StudentList studentList;
// getters setters
}
和
StudentList.java
public class StudentList {
private int numberOfStudents;
private int totalExpenditures;
private List<Student> students;
// getters setters
}
进行服务调用后,我得到以下 JSON 输出:
{
"studentSummary": {
"studentList": {
"numberOfStudents": 500,
"totalExpenditures": 250000,
"students": [ /* students listed */ ]
}
}
我想从 JSON 中排除 studentList StudentSummary 类:
{
"studentSummary": {
"studentList": {
"numberOfStudents": 500,
"totalExpenditures": 250000
}
}
}
我已经尝试使用(在 StudentSummary 输出类中)@JsonIgnore 和 @JsonProperties,通过指定仅排除 "studentList.students",但这没有任何作用。
编辑:进一步澄清,为什么我不能在 StudentList 类中进行更改,这是因为它被另一个服务使用,而 StudentSummary 类的服务属于不同的服务,所以我只能在里面进行更改后一个类,不修改前一个服务。
【问题讨论】:
-
您是否尝试将 @JsonIgnore 放在 StudentList 类的“学生”字段中?
-
@Kh.Taheri 我在底部添加了一个编辑,但基本上,StudentList 由不同的服务使用,而我现在要编写的服务只需要对里面的 JSON 输出进行更改StudentSummary 类。
标签: java json object properties jackson