Jackson kann @XmlElement bei der Serialisierung auf JSON nicht berücksichtigen

Ich habe eine Vertragsklasse, die Elemente mit @ XmlElement-Tags enthält. Zum Beispiel

 @XmlElement(name = "balancemoney")
 protected Amount balanceMoney;

Mit dem JAXBContext kann ich die XML mit den richtigen Tags generieren.

Wenn ich jedoch die von jackson bereitgestellte Bibliothek verwende, wird das JSON-Tag weiterhin als "balanceMoney" anstelle von "balancemoney" eingegeben.

Wie kann ich Jackson anweisen, das @ XmlElement-Tag zu berücksichtigen?

Unten ist der Code, der dies tut.

    //Function to display request object.
public void displayXML(Object reqResp){
    try{
        JAXBContext jaxbContext = JAXBContext.newInstance(reqResp.getClass());
        Marshaller jaxbMarshaller = jaxbContext.createMarshaller();

        // output pretty printed
        jaxbMarshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true);

        ByteArrayOutputStream bStream=new ByteArrayOutputStream();

        //jaxbMarshaller.marshal(reqResp, System.out);
        jaxbMarshaller.marshal(reqResp,bStream );

        logger.info(bStream.toString());    

        }catch(JAXBException e){
            logger.info(e.getMessage());
        }
        logger.info("*** Payload is: " + reqResp.toString());
}

//Function to display as JSON
public void displayJSON(Object reqResp) throws JsonGenerationException, JsonMappingException, IOException{
    ObjectMapper mapper = new ObjectMapper();
    logger.info(mapper.defaultPrettyPrintingWriter().writeValueAsString(reqResp));

}

Antworten auf die Frage(2)

Ihre Antwort auf die Frage