Jackson nie może rozważyć @XmlElement podczas serializowania do JSON

Mam klasę kontraktu, która zawiera elementy z tagami @XmlElement. Na przykład

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

Używanie JAXBContext Mogę wygenerować plik XML z odpowiednimi tagami.

Jednak gdy korzystam z biblioteki dostarczonej przez jackson, znacznik JSON nadal występuje jako „balanceMoney” zamiast „balancemoney”

Jak mam powiedzieć Jacksonowi, żeby rozważył tag @XmlElement.

Poniżej znajduje się kod, który to robi.

    //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));

}

questionAnswers(2)

yourAnswerToTheQuestion