У меня есть вопрос, связанный с сериализацией / десериализацией bean-компонентов для json с использованием Джексона.Раньше я использовал GSON для этого, но теперь я столкнулся с проектом, который уже зависит от Джексона, и я бы предпочел не вводить новую зависимость, если я могу делать то, что у меня уже есть под рукой.
Итак, представьте, что у меня есть bean-компонент вроде:
class ExampleBean {
private String firstField;
private String secondField;
// respective getters and setters
}
А затем Джексон сериализует его в:
{
"firstField": "<first_field_value>",
"secondField": "<second_field_value>"
}
Я использую следующий код для получения указанного выше результата:
ExampleBean bean;
...
ObjectMapper mapper = new ObjectMapper();
mapper.writeValue(outStream, bean);
Однако я бы хотел (как ожидается) получить следующая сериализация:
{
"first_field": "<first_field_value>",
"second_field": "<second_field_value>"
}
Я намеренно упростил свой пример, но у меня есть большая иерархия bean-компонентов, которые я хочу сериализовать, и я хочу указать, что сериализованные атрибуты всегда должны быть в snake_style (то есть с подчеркиванием) и соответствующими полями bean-компонентов всегда должен быть в верблюжьем корпусе. Можно ли каким-либо образом применить такие политики именования полей / атрибутов и использовать их без аннотирования соответствующего атрибута для каждого поля?