我正在尝试使用restTemplate(Spring)和Jackson 2.3.0构建一个JSON Web服务消费者
问题在于pojo的绑定,如下所示:
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "DerniereFactureTest", propOrder = { "montantTTC" })
public class DerniereFactureTest {
@XmlElement(name = "montant_TTC", required = true)
protected BigDecimal montantTTC;
...<Getter and setter>...
}
Jackson输出以下错误:
org.springframework.http.converter.HttpMessageNotReadableException:无法读取JSON:无法识别的字段"montant_TTC"(类com.bouygtel.vgc.transverse.composant.ws.DerniereFactreTest),未标记为可忽略(一个已知属性:"montantTTC"])(......)引起的原因:com.fasterxml.jackson.databind.exc.未识别的属性:无法识别的字段"montant_TTC"(类com.bouygtel.vgc.transverse.composant.ws.DerniereFactreTest),未标记为可忽略(一个已知属性:"montantTTC"])
我无法更改Pojo注释。
以下是我的Spring配置:
<!-- Client REST -->
<bean class="org.springframework.web.client.RestTemplate" />
<!-- JAX-B: mapper JSON<->DTO -->
<bean
class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter">
<property name="objectMapper" ref="jacksonObjectMapper" />
</bean>
<bean id="jacksonObjectMapper" class="com.fasterxml.jackson.databind.ObjectMapper">
<property name="annotationIntrospector" ref="jaxbAnnotationInspector" />
</bean>
<bean id="jaxbAnnotationInspector"
class="com.fasterxml.jackson.module.jaxb.JaxbAnnotationIntrospector" />
在调试时,我觉得没有使用JaxbAnnotationIntrospector(而是使用JacksonAnnotationIntrospector)。
有没有办法让Jackson使用JaxB注释?
谢谢你的建议。
今年Spring,我终于解决了自己的问题:
<!-- le client REST -->
<bean class="org.springframework.web.client.RestTemplate">
<property name="messageConverters">
<list>
<bean
class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter">
<property name="supportedMediaTypes" value="application/json" />
<property name="objectMapper">
<bean class="com.fasterxml.jackson.databind.ObjectMapper">
<property name="annotationIntrospector">
<bean
class="com.fasterxml.jackson.module.jaxb.JaxbAnnotationIntrospector" />
</property>
</bean>
</property>
</bean>
</list>
</property>
</bean>
我有三个从超级类(SensorData)继承的类 我想根据参数将一个json输入转换为其中一个类。我正在尝试使用Jackson StdDeserializer并创建一个自定义的反序列化程序 我的问题是,当我确定映射具体类的正确类型时,映射器再次调用自定义stdDeserializer。所以我需要一种方法来打破循环当我有正确的类型。stacktrace是下一个 输入示例 我只包含stacktrace
我遵循这个链接的第二个答案(两个步骤)来实现视频到Youtube的上传:使用curl和api v3在Youtube上上传视频 代码工作正常,但当我执行时,我得到的响应是:状态:嵌入:true license:“YouTube”privacystatus:“unlisted”publicstatsviewable:true uploadstatus:“uploaded”
问题内容: 我正在尝试使用的功能同时划分工作。当我使用以下代码时,它可以正常工作: 但是,当我以更加面向对象的方式使用它时,它将无法正常工作。它给出的错误信息是: 这是我的课: 任何人都知道问题可能是什么,或解决问题的简单方法? 问题答案: 问题在于,多处理必须使进程中的东西腌制,而绑定的方法却不能腌制。解决方法(无论你是否认为它“容易” 是向你的程序中添加基础结构,以允许对这些方法进行腌制,并使
问题内容: 我想使用Node.js域来捕获异常。到目前为止,它正在运行,但是有一个地方我无法获得域来捕获异常。回调中的exception2是在domain.on(’error’)处理程序中捕获并处理的,但没有捕获exception1。奇怪的是,当抛出exception1时,它不会像我期望的那样关闭Node。这是我的示例应用程序: 为了使exception2执行,我注释掉了exception 1。
我正在尝试通过批处理文件创建vbs。但是有一行我包含一个对象。批处理文件无法将闭括号 )写入vbs,这在运行vbs时会导致错误。 批处理文件代码为: 输出: vbs zipIt.vbs vbs输出:Microsoft (R) Windows Script Host版本5.8版权所有(C) Microsoft Corporation。保留所有权利。 C: \Users\arvind\Desktop\
代码试图采用java.awt.color类使用jackson对象映射器对其进行序列化。获取生成的json字符串并将其反序列化回java.awt.color类。但是在进行反序列化时会出现以下错误。 线程"main"com.fasterxml.jackson.databind.JsonMappingException中的异常:找不到适合类型[简单类型,类java.awt.颜色]的构造函数:无法从JSO