带有自定义适配器的JAXB全局绑定在jackson映射中失败

时间:2015-07-31 07:54:48

标签: java xsd jaxb jackson

我使用以下绑定将我的xsd中的所有xs:long值与我的自定义适配器绑定到Long类;

<xjc:javaType name="java.lang.Long"
            xmlType="xs:long" adapter="blabla.adapters.LongAdapter" />

但是在xsd中将集合声明为以下内容;

<xs:element name="idList" type="xs:long" minOccurs="0" maxOccurs="unbounded"/> 

自定义适配器无法使用jackson的json映射逻辑转换它们。给出以下错误;

JsonMappingException: Unable to marshal: java.util.ArrayList cannot be cast to java.lang.Long (through reference chain: blabla.interfaces.BigClass["idList"])

我该如何解决这个问题?我是否必须为List创建自定义适配器?如果是这样,那将是一个丑陋的解决方案。感谢

0 个答案:

没有答案