Jackson - Java bean a cadena JSON: variable en mayúscula convertida a minúscula en JSON
Estoy convirtiendo Java Bean a cadena JSON usando el método writeValueAsString de ObjectMapper donde las variables en mayúscula de Java Bean se están cambiando a minúsculas en la cadena JSON. Jackson 2.7.4 versión implementada. Muestra de frijol base
public class BaseBean {
private static final long serialVersionUID = 3947489072259877540L;
private int _iXId;
private String _sPNR;
private ArrayList _alMinPriced = new ArrayList<TermBean>();
public int getXId() {
return _iXId;
}
public void setXId(int id) {
_iXId = id;
}
public String getPNRNumber() {
return _sPNR;
}
public void setPNRNumber(String _spnr) {
_sPNR = _spnr;
}
public ArrayList getMinPriced() {
return _alMinPriced;
}
public void setMinPriced(ArrayList minPriced) {
_alMinPriced = minPriced;
}
public void setMinPriced(TermBean bnTerm) {
_alMinPriced.add(bnTerm);
}
}
Anteriormente, estábamos usando net.sf.json.JSON & JSONSerializer para la conversión de Java Bean a JSON. Y la cadena JSON generada tenía un nombre similar al que tenemos Java Bean. Debido a un problema de rendimiento, quiero cambiar esto e implementar Jackson.
Restricciones: no podemos cambiar la convención de nomenclatura del bean Java, ya que estos beans son de proyectos anteriores y hay poco margen para cambiar los nombres de las variables en el bean e incluso agregar propiedades json en cada bean.
He intentado debajo del código pero eso no funcionó
ObjectMapper mapper = new ObjectMapper();
mapper.configure(MapperFeature.ACCEPT_CASE_INSENSITIVE_PROPERTIES, true);
mapper.setPropertyNamingStrategy(PropertyNamingStrategy.LOWER_CAMEL_CASE);
Además, he intentado personalizar PropertyNamingStrategy pero no lo tengo claro.
Editado:
net.sf.json.JSON cadena JSON generada como se menciona a continuación para el bean anterior:
{"XId":11,"PNRNumber":"123456789","minPriced":[{"name":"JSON"},{"name":"simple"}]}
Jackson cadena JSON generada como se menciona a continuación para el bean anterior:
{"xid":11,"pnrnumber":"123456789","minPriced":[{"name":"JSON"},{"name":"Jackson"}]}
Como puede ver, "XId" se convirtió en "xid" en jackson y "PNRNumber" se convirtió en "pnrnumber" en jackson.
¿Hay algún cambio de configuración disponible en Jackson para evitar dicha modificación? O cómo manejar tal escenario.