Mam następujący JSON:Jak mogę serializować ten JSON przy użyciu adnotacji Jacksona?
{
fields : {
"foo" : "foovalue",
"bar" : "barvalue"
}
}
Napisałem POJO następująco:
public class MyPojo {
@JsonProperty("fields")
private List<Field> fields;
static class Field {
@JsonProperty("foo") private String foo;
@JsonProperty("bar") private String bar;
//Getters and setters for those 2
}
To oczywiście nie powiedzie się, ponieważ moje pole json "pola" jest HashMap, a nie lista.
Moje pytanie brzmi: czy istnieje "magiczna" adnotacja, która może sprawić, że Jackson rozpoznaje klucze mapy jako nazwy właściwości pojo i przypisze wartości mapy do wartości właściwości pojo?
PS: I naprawdę nie chcę mieć moje pola obiektu jako ...
private Map<String, String> fields;
... bo w moim świecie rzeczywistym json Mam złożonych obiektów w wartościach map, a nie tylko struny ...
Dzięki ;-)
Philippe
Również, gdy próbuję serializować te mapy, otrzymuję: Błąd I/O: Nie można deserializować wystąpienia java.lang.String z tokenu START_OBJECT – Philippe