Tengo una pregunta relacionada con la serialización/deserialización de bean to json con Jackson. Anteriormente he usado GSON para hacer eso, pero ahora estoy frente a un proyecto que ya depende de Jackson y preferiría no introducir una nueva dependencia si puedo hacer lo que ya tengo a mano.Especificación de la política de nombres de campo para Jackson
Así que imaginen que tienen un grano como:
class ExampleBean {
private String firstField;
private String secondField;
// respective getters and setters
}
Y entonces Jackson serializa a:
{
"firstField": "<first_field_value>",
"secondField": "<second_field_value>"
}
estoy usando el siguiente código para producir el resultado anterior:
ExampleBean bean;
...
ObjectMapper mapper = new ObjectMapper();
mapper.writeValue(outStream, bean);
Sin embargo, me gustaría (me esperaba) obtener la siguiente serialización:
{
"first_field": "<first_field_value>",
"second_field": "<second_field_value>"
}
He simplificado deliberadamente mi ejemplo, pero tengo gran jerarquía de los granos que quiero serializar y quiero especificar que los atributos serializados siempre deben estar en snake_style (es decir, con guiones) y los campos de frijol correspondientes siempre debe ser camelCased. ¿Hay alguna forma de que pueda hacer cumplir estas políticas de nombres de campos/atributos y utilizarlas sin anotar el atributo correspondiente para cada campo?
ObjectMapper no parece tener este método setPropertyNamingStrategy ... :( – stantonk
@stantonk solía ser cuando escribí mi comentario. Al parecer, estaba allí para Jackson 1.9. Sin embargo, no encuentro equivalente en el Jackson más reciente Por favor, si lo hace, escriba de nuevo aquí una respuesta para que la gente pueda referirse a ella. –
lo descubrí, tenía una versión anterior de jackson siendo incluida a través de una dependencia transitiva, y mi IDE importó la incorrecta :-). – stantonk