当前位置: 首页 > 知识库问答 >
问题:

使用JAXB解编组日期和货币属性时的意外值

长孙弘盛
2023-03-14

我正在尝试对JavaPOJO进行xml响应。在使用jaxb解组时出现日期和货币值问题

解组的结果是,货币字段值未映射(null),日期字段映射到一些数字(如1503979200000)

有人能告诉我哪里出了问题吗?提前感谢你的帮助。

下面是我的代码:unmarshall代码:JAXBContext jc=JAXBContext。newInstance(Item.class);解组器um=jc。createUnmarshaller();项目输出=(项目)um。解组(soapMessage.getSOAPBody()。extractContentAsDocument());

Pojo:

@XmlRootElement( name = "item" )
@XmlAccessorType(XmlAccessType.FIELD)  

public class Item{

 @XmlElement( name = "bl" )
 @XmlJavaTypeAdapter(DateTimeAdapter.class)
 private Date docDate;

 @XmlElement( name = "sd" )
 @XmlJavaTypeAdapter(DateTimeAdapter.class)
 private Date dueDate;

 @XmlElement( name = "bu" )
 @XmlJavaTypeAdapter(DateTimeAdapter.class)
 private Date postingDate;

 @XmlElement( name = "wr" )
 @XmlJavaTypeAdapter(CurrencyAdapter.class)
 private Currency amount;

...

}

XML中的日期值的格式为yyyy MM dd

解组后的结果:金额=null docDate=1503979200000dueDate=1503979200000postingDate=1503979200000

暂时还没有答案

 类似资料:
  • 背景: 我使用JAXB将XML解组为Java对象。最初,我只是使用JAXB来执行解组。然后对代码进行静态分析,并提出了XML外部实体注入的高关键性问题。经过一点研究,我发现了一个建议(https://www.owasp.org/index.php/XML_External_Entity_(XXE)_Prevention_Cheat_Sheet#JAXB_Unmarshaller)使用配置为防止解析

  • 我有一个来自REST API的XML响应,如下所示: 我知道如何使用jaxb获取xml元素值,即“XYZ”,并绑定到bean。但我被困在知道如何获取资源的价值(即https://www.cyz.com),单位(“PH”),href(“ww.com”),div?内xmlns的值,然后将该值映射到对象属性。请帮助我。

  • 为什么在使用JAXB时需要使用? 我的工作场景是这样的: 我正在做一个从.NET到Java的转换项目。在.NET中,类的编写与POJO类似。我只是在代码中添加了注释(如、等)。并解决了与注释相关的错误。 现在我犯了这样的错误: XML文件如下: POJO类:

  • 我尝试解组一个XML文件到一个对象。 我得到了这个错误: 我的解组过程如下所示: 我的XML实体看起来像: 我的XMLFile看起来像: 那么,我的解组过程出了什么问题?XML实体是用xjc创建的。 我也尝试了简单的xml文件/对象。这对我来说很好。

  • 问题内容: 我正在尝试创建一个非常简单的REST服务器。我只是有一个测试方法,它将返回字符串列表。这是代码: 它给出以下错误: 我希望JAXB对诸如String,Integer等简单类型具有默认设置。我想不是。这是我的想象: 使这种方法最简单的方法是什么? 问题答案: 我使用@LiorH的示例并将其扩展为: 注意,它使用泛型,因此您可以将其与String之外的其他类一起使用。现在,应用程序代码很简

  • 问题内容: 我一直在尝试JAXB教程,并设法使代码能够从Java对象生成XML文件,然后能够使用XML生成Java对象。目前,它读取同一类的多个实例以创建一个类似于以下内容的XML文件 我希望能够使用JAXB技术来处理子类。例如:说我有一个Car,Van和Bicycle对象,它们是Vehicle的子类。我是否可以操纵我的JAXB类来编写一个会产生类似结果的XML文件?我在下面提供了我正在使用的代码