Мне нужно десериализовать / сериализовать объект json /, используя Джексона. Мне нужно десериализовать "UA": {"featureId": 2, "enabled": true} как список, где "UA" является свойством (именем) класса FeatureAccess, которое должно быть отображено как ключ объекта. Есть ли способ добиться этого с помощью Джексона? Также мне нужно было бы сериализовать его обратно в JSON, используя ту же структуру объекта. Я пытался написать собственный десериализатор, но его не вызывали.
У меня следующая структура класса.
public class FeatureUI implements Serializable {
@JsonUnwrapped
private Feature feature;
private int count;
// @JsonDeserialize(using = CustomDeserializer.class)
private List<FeatureAccess> featuresAccess;
}
public class Feature implements Serializable {
private int featureId;
private String name;
private Integer parentId;
}
public class FeatureAccess implements Serializable {
private int featureId;
private String name;
private Boolean enabled;
}
Формат вывода / ввода
[
{
"featureId": 1,
"parentId": null,
"PU": {
"featureId": 1
"enabled": true
}
},
{
"featureId": 2,
"parentId": null,
"UA": {
"featureId": 2,
"enabled": true
}
},
{
"featureId": 8,
"parentId": null,
"OA": {
"featureId": 8,
"enabled": false
},
"PU": {
"featureId": 8,
"enabled": true
},
"UA": {
"featureId": 8,
"selected": true
}
}
]