Jackson JSON-Liste mit Objekt-Typ

Habe ich zu serialisieren JSON aus einer Liste von Objekten. Die daraus resultierende JSON so Aussehen:

{
    "status": "success",
    "models": [
        {
            "model": {
                "id": 23,
                "color": "red"
            }
        },
        {
            "model": {
                "id": 24,
                "color": "green"
            }
        }
    ]
}

Ich vermisse die Art/Schlüssel "Modell", wenn ich einfach serialisieren dies:

List<Model> list = new ArrayList<Model>(); //add some new Model(...)
Response r = new Response("success", list); //Response has field "models"

Stattdessen bekomme ich nur diese:

{
    "status": "success",
    "models": [
        {
            "id": 23,
            "color": "red"
        },
        {
            "id": 24,
            "color": "green"
        }
    ]
}

Wie kann ich "Modell" für jedes Objekt, ohne zu schreiben, eine dumme wrapper-Klasse mit einer Eigenschaft "model"?

Meine Klassen so Aussehen:

public class Response {
    private String status;
    private List<Model> models;
    //getters /setters
}

public class Model {
    private Integer id;
    private String color;
    //getters /setters
}
  • Ihre JSON ist nicht gültig; Objekt-member-Namen müssen angegeben werden (Tipp: "" ist ein gültiges JSON-Objekt den Namen des Mitglieds)
  • Können Sie zeigen Sie Ihre Model Klasse und Response Klasse?
  • Behoben, thx @fge
InformationsquelleAutor raoulsson | 2014-04-07
Schreibe einen Kommentar