Ich habe versucht, mit @JsonIgnoreProperties und @JsonIgnore aber kein Glück ..Wie kann ich nur bestimmte Felder aus einer Objektliste für die Bereitstellung einer JSON-Antwort zurückgeben?
Das ist mein Haupt ist:
@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));
}
und wo habe ich meine Sachen ignorieren, die nicht funktioniert ..
@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;
}
eine Idee, wie nur ID und Name zurückgeben?
Was ist der Json am Ende? – Salem
Überprüfen Sie, ob Ihre Anmerkungen aus demselben Paket stammen wie der von Ihnen verwendete json-Prozessor. Mischen Sie nicht 'org.codehaus.jackson.annotate.JsonIgnore' und' com.fasterxml.jackson.annotation.JsonIgnore' zum Beispiel. –
@Salem, tatsächlich wird der JSON korrekt nach einem Feld sortiert und mit einer Liste von Objekten und relativen Feldern zurückgegeben. Und ich möchte nur eine Teilmenge in einer eleganten Art und Weise zurückgeben. – Micky