Использование Jackson, я знаю, что я могу включить/исключить свойство из сериализации для просмотра с помощью @JsonView
.Jackson: изменить значение свойства JSON по виду
Как я могу изменить значение свойства JSON по виду?
например, я мог бы хотеть, чтобы значение свойства во взгляде А являлось целым объектом, в виду, что B является объектом с определенными свойствами, отфильтрованными, в представлении С, я просто хочу, чтобы это был «id» (нет не объект), а вид D, я мог бы хотеть, чтобы это было «имя» (нет объекта):
// view A JSON
{
"prop": {"id": 123, "name": "abc", "description": "def"}
}
// view B JSON
{
"prop": {"id": 123, "name": "abc"}
}
// view C JSON
{
"prop": 123
}
// view D JSON
{
"prop": "abc"
}
+1, это хороший вопрос. В вашем примере я обычно генерирую '{" prop ": {" id ": 123}}' для просмотра 'C' и' {"prop": {"name": "abc"}} 'для просмотра' D'. Я также хочу знать, как удалить имя свойства, когда есть только один со значением;) –
Вы можете достичь A и B, используя стандартный '@ JsonView', но не C и D. Посмотрите на эту проблему: https://github.com/FasterXML/jackson-databind/issues/440 –