У меня есть вопрос, связанный с сериализацией / десериализацией bean to json с использованием Jackson. Ранее я использовал GSON для этого, но теперь я столкнулся с проектом, который уже зависит от Джексона, и я бы предпочел не вводить новую зависимость, если я могу делать то, что у меня уже есть.
Итак, представьте, что у меня есть боб:
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-компонентов всегда должны быть camelCased. Можно ли как-нибудь принудительно применять такие политики именования полей / атрибутов и использовать их без указания соответствующих атрибутов для каждого поля?