我试过@JsonIgnoreProperties和@JsonIgnore,但没有幸运..
这是我的主要内容:
@BodyParser.Of(BodyParser.Json.class)
public Result index() {
//I read the JSON Post request
JsonNode json = request().body().asJson();
Item[] items = Json.fromJson(json, Item[].class);
//I convert all the dueTime from string to jodatime DateTime, using the formatter with ISO 8601
items = addJodaTime(items);
//I sort the items by dueTime in jodatime DateTime format
Arrays.sort(items);
return ok(Json.toJson(items));
}
并且我把我的忽略的东西放在哪里,这是无效的。
@JsonIgnoreProperties({"dueTimeNew"})
public static class Customer implements Comparable<Customer> {
public int id;
public String name;
public String duetime;
public String jointime;
@JsonIgnore
public DateTime dueTimeNew;
public DateTime getDueTime() {
return dueTimeNew;
}
任何想法如何只返回id和名称?
答案 0 :(得分:0)
您需要将@JsonIgnore添加到您需要忽略的每个字段。如果你不这样做,杰克逊将添加所有公开或有吸气剂的东西(get???????????
方法)。
在您的情况下,您有很多字段,并且只有dueTimeNew
被忽略...另请注意,因为您使用的getDueTime
方法使用dueTimeNow
,也将被添加。如果方法名为getDueTimeNow
,则可能会忽略它。
答案 1 :(得分:0)
如何使用您想要返回的字段创建一个单独的响应类?