相关疑难解决方法(0)

Jackson 在序列化为 JSON 时无法考虑 @XmlElement

我有一个合同类,其中包含带有 @XmlElement 标签的元素。前任

 @XmlElement(name = "balancemoney")
 protected Amount balanceMoney;
Run Code Online (Sandbox Code Playgroud)

使用 JAXBContext 我能够生成带有适当标签的 xml。

但是,当我使用 jackson 提供的库时,JSON 标签仍然是“balanceMoney”而不是“balancemoney”

我如何告诉杰克逊考虑 @XmlElement 标签。

下面是执行此操作的代码。

    //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 = …
Run Code Online (Sandbox Code Playgroud)

xml jaxb jackson

5
推荐指数
2
解决办法
6927
查看次数

标签 统计

jackson ×1

jaxb ×1

xml ×1